diff options
Diffstat (limited to 'sc/source/ui/view/printfun.cxx')
-rw-r--r-- | sc/source/ui/view/printfun.cxx | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/sc/source/ui/view/printfun.cxx b/sc/source/ui/view/printfun.cxx index 07f5225b87f5..1cf873093bd3 100644 --- a/sc/source/ui/view/printfun.cxx +++ b/sc/source/ui/view/printfun.cxx @@ -435,16 +435,14 @@ static void lcl_HidePrint( const ScTableInfo& rTabInfo, SCCOL nX1, SCCOL nX2 ) // - Preview of templates void ScPrintFunc::DrawToDev(ScDocument& rDoc, OutputDevice* pDev, double /* nPrintFactor */, - const tools::Rectangle& rBound, ScViewData* pViewData, bool bMetaFile) + const tools::Rectangle& rBound, ScViewData& rViewData, bool bMetaFile) { if (rDoc.GetMaxTableNumber() < 0) return; //! evaluate nPrintFactor !!! - SCTAB nTab = 0; - if (pViewData) - nTab = pViewData->GetTabNo(); + SCTAB nTab = rViewData.GetTabNo(); bool bDoGrid, bNullVal, bFormula; ScStyleSheetPool* pStylePool = rDoc.GetStyleSheetPool(); @@ -483,16 +481,16 @@ void ScPrintFunc::DrawToDev(ScDocument& rDoc, OutputDevice* pDev, double /* nPri nX2 = aRange.aEnd.Col(); nY2 = aRange.aEnd.Row(); } - else if (pViewData) + else { - ScSplitPos eWhich = pViewData->GetActivePart(); + ScSplitPos eWhich = rViewData.GetActivePart(); ScHSplitPos eHWhich = WhichH(eWhich); ScVSplitPos eVWhich = WhichV(eWhich); - nX1 = pViewData->GetPosX(eHWhich); - nY1 = pViewData->GetPosY(eVWhich); - nX2 = nX1 + pViewData->VisibleCellsX(eHWhich); + nX1 = rViewData.GetPosX(eHWhich); + nY1 = rViewData.GetPosY(eVWhich); + nX2 = nX1 + rViewData.VisibleCellsX(eHWhich); if (nX2>nX1) --nX2; - nY2 = nY1 + pViewData->VisibleCellsY(eVWhich); + nY2 = nY1 + rViewData.VisibleCellsY(eVWhich); if (nY2>nY1) --nY2; } @@ -541,7 +539,9 @@ void ScPrintFunc::DrawToDev(ScDocument& rDoc, OutputDevice* pDev, double /* nPri // If no lines, still leave space for grid lines // (would be elseways cut away) - nScrX += 1; + // tdf#135891 - adjust the x position to ensure the correct starting point + const Size aOnePixel = pDev->PixelToLogic(Size(1, 1)); + nScrX += aOnePixel.Width(); nScrY += 1; ScOutputData aOutputData( pDev, OUTTYPE_PRINTER, aTabInfo, &rDoc, nTab, @@ -589,14 +589,14 @@ void ScPrintFunc::DrawToDev(ScDocument& rDoc, OutputDevice* pDev, double /* nPri //! nZoom for GetFont in OutputData ??? - if (!bMetaFile && pViewData) - pDev->SetMapMode(pViewData->GetLogicMode(pViewData->GetActivePart())); + if (!bMetaFile) + pDev->SetMapMode(rViewData.GetLogicMode(rViewData.GetActivePart())); // #i72502# const Point aMMOffset(aOutputData.PrePrintDrawingLayer(nLogStX, nLogStY)); aOutputData.PrintDrawingLayer(SC_LAYER_BACK, aMMOffset); - if (!bMetaFile && pViewData) + if (!bMetaFile) pDev->SetMapMode(aMode); aOutputData.DrawBackground(*pDev); @@ -606,14 +606,14 @@ void ScPrintFunc::DrawToDev(ScDocument& rDoc, OutputDevice* pDev, double /* nPri aOutputData.DrawSparklines(*pDev); aOutputData.DrawStrings(); - if (!bMetaFile && pViewData) - pDev->SetMapMode(pViewData->GetLogicMode(pViewData->GetActivePart())); + if (!bMetaFile) + pDev->SetMapMode(rViewData.GetLogicMode(rViewData.GetActivePart())); aOutputData.DrawEdit(!bMetaFile); if (bDoGrid) { - if (!bMetaFile && pViewData) + if (!bMetaFile) pDev->SetMapMode(aMode); aOutputData.DrawGrid(*pDev, true, false); // no page breaks |