From 9cb5bab53bf2211762f3470cba824ce1ecdc9391 Mon Sep 17 00:00:00 2001 From: Andrzej Hunt Date: Fri, 13 Nov 2015 11:17:43 +0100 Subject: [PATCH 321/398] sc lok: during tiled rendering the cell-cursor is always visible Change-Id: Ia802c19f5bfd2fe2e9909e3c611047c529a64200 (cherry picked from commit e77668eb1e7abe522493235dadfca08ca451ad99) --- sc/source/ui/view/gridwin.cxx | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx index c2d391d038ef..96f10568b797 100644 --- a/sc/source/ui/view/gridwin.cxx +++ b/sc/source/ui/view/gridwin.cxx @@ -6019,7 +6019,9 @@ void ScGridWindow::UpdateCursorOverlay() const ScPatternAttr* pPattern = pDoc->GetPattern(nX,nY,nTab); - if (!maVisibleRange.isInside(nX, nY)) + ScDrawLayer* pDrawLayer = pDoc->GetDrawLayer(); + + if (!pDrawLayer->isTiledRendering() && !maVisibleRange.isInside(nX, nY)) { if (maVisibleRange.mnCol2 < nX || maVisibleRange.mnRow2 < nY) return; // no further check needed, nothing visible @@ -6038,13 +6040,11 @@ void ScGridWindow::UpdateCursorOverlay() } // don't show the cursor in overlapped cells - const ScMergeFlagAttr& rMergeFlag = static_cast( pPattern->GetItem(ATTR_MERGE_FLAG) ); bool bOverlapped = rMergeFlag.IsOverlapped(); // left or above of the screen? - - bool bVis = ( nX>=pViewData->GetPosX(eHWhich) && nY>=pViewData->GetPosY(eVWhich) ); + bool bVis = pDrawLayer->isTiledRendering() || ( nX>=pViewData->GetPosX(eHWhich) && nY>=pViewData->GetPosY(eVWhich) ); if (!bVis) { SCCOL nEndX = nX; @@ -6074,7 +6074,7 @@ void ScGridWindow::UpdateCursorOverlay() } // in the tiled rendering case, don't limit to the screen size - if (bMaybeVisible) + if (bMaybeVisible || pDrawLayer->isTiledRendering()) { long nSizeXPix; long nSizeYPix; @@ -6117,8 +6117,6 @@ void ScGridWindow::UpdateCursorOverlay() } } - ScDrawLayer* pDrawLayer = pDoc->GetDrawLayer(); - if ( !aPixelRects.empty() ) { if (pDrawLayer->isTiledRendering()) { -- 2.12.0