diff options
Diffstat (limited to 'sc/source/ui/view/gridwin4.cxx')
-rw-r--r-- | sc/source/ui/view/gridwin4.cxx | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx index a861daec3177..ac970535d72c 100644 --- a/sc/source/ui/view/gridwin4.cxx +++ b/sc/source/ui/view/gridwin4.cxx @@ -1098,6 +1098,9 @@ void ScGridWindow::PaintTile( VirtualDevice& rDevice, int nTilePosX, int nTilePosY, long nTileWidth, long nTileHeight ) { + Fraction origZoomX = pViewData->GetZoomX(); + Fraction origZoomY = pViewData->GetZoomY(); + // Output size is in pixels while tile position and size are in logical units (twips). // Assumption: always paint the whole sheet i.e. "visible" range is always @@ -1116,6 +1119,8 @@ void ScGridWindow::PaintTile( VirtualDevice& rDevice, Fraction aFracX(long(nOutputWidth * TWIPS_PER_PIXEL), nTileWidth); Fraction aFracY(long(nOutputHeight * TWIPS_PER_PIXEL), nTileHeight); + // FIXME: compare vs. origZoomX/Y and avoid re-setting the zoom ? + // page break zoom, and aLogicMode in ScViewData pViewData->SetZoom(aFracX, aFracY, true); @@ -1224,6 +1229,8 @@ void ScGridWindow::PaintTile( VirtualDevice& rDevice, // Flag drawn formula cells "unchanged". pDoc->ResetChanged(ScRange(nTopLeftTileCol, nTopLeftTileRow, nTab, nBottomRightTileCol, nBottomRightTileRow, nTab)); pDoc->PrepareFormulaCalc(); + + pViewData->SetZoom(origZoomX, origZoomY, true); } void ScGridWindow::LogicInvalidate(const tools::Rectangle* pRectangle) |