diff options
author | Andrzej Hunt <andrzej@ahunt.org> | 2015-11-13 11:17:43 +0100 |
---|---|---|
committer | Andrzej Hunt <andrzej@ahunt.org> | 2015-11-13 11:35:03 +0100 |
commit | e77668eb1e7abe522493235dadfca08ca451ad99 (patch) | |
tree | 586fce73a072b913b4be5cdc3bf69ec605ffa87e /sc | |
parent | 0797610256c07966630880068ab94361c1c47bf0 (diff) |
sc lok: during tiled rendering the cell-cursor is always visible
Change-Id: Ia802c19f5bfd2fe2e9909e3c611047c529a64200
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/ui/view/gridwin.cxx | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx index 94b0be9c5cdd..e001e064e5cc 100644 --- a/sc/source/ui/view/gridwin.cxx +++ b/sc/source/ui/view/gridwin.cxx @@ -6010,7 +6010,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 @@ -6029,13 +6031,11 @@ void ScGridWindow::UpdateCursorOverlay() } // don't show the cursor in overlapped cells - const ScMergeFlagAttr& rMergeFlag = static_cast<const ScMergeFlagAttr&>( 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; @@ -6065,7 +6065,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; @@ -6108,8 +6108,6 @@ void ScGridWindow::UpdateCursorOverlay() } } - ScDrawLayer* pDrawLayer = pDoc->GetDrawLayer(); - if ( !aPixelRects.empty() ) { if (pDrawLayer->isTiledRendering()) { |