[Libreoffice-commits] core.git: 3 commits - sw/inc sw/source
Miklos Vajna
vmiklos at collabora.co.uk
Wed Jun 24 03:36:09 PDT 2015
sw/inc/viewsh.hxx | 6 ++++++
sw/source/core/doc/notxtfrm.cxx | 21 ++++++++++-----------
sw/source/core/draw/dflyobj.cxx | 2 +-
sw/source/core/inc/cellfrm.hxx | 2 +-
sw/source/core/inc/flyfrm.hxx | 2 +-
sw/source/core/inc/frame.hxx | 2 +-
sw/source/core/inc/layfrm.hxx | 2 +-
sw/source/core/inc/notxtfrm.hxx | 2 +-
sw/source/core/inc/rootfrm.hxx | 2 +-
sw/source/core/inc/tabfrm.hxx | 2 +-
sw/source/core/inc/txtfrm.hxx | 2 +-
sw/source/core/layout/paintfrm.cxx | 22 +++++++++++-----------
sw/source/core/layout/unusedf.cxx | 2 +-
sw/source/core/text/frmpaint.cxx | 2 +-
sw/source/core/text/porfly.cxx | 2 +-
sw/source/core/view/viewpg.cxx | 2 +-
sw/source/core/view/viewsh.cxx | 20 +++++++++++++++-----
sw/source/core/view/vnew.cxx | 2 ++
sw/source/core/view/vprint.cxx | 4 ++--
sw/source/uibase/docvw/edtwin2.cxx | 4 ++++
20 files changed, 63 insertions(+), 42 deletions(-)
New commits:
commit f2c84d410cf6df3bb3725d2495e3b6b60b2cf17b
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Wed Jun 24 11:38:34 2015 +0200
sw: add SwViewShell::mbOutputToWindow
So that we can know if the output is a virtual device that will end up
on the screen (due to double buffering) or a "real" virtual device.
Change-Id: I1e8eeddfb19c374363b98786c26836e1f3236e7f
diff --git a/sw/inc/viewsh.hxx b/sw/inc/viewsh.hxx
index e2ea4b5..9e77272 100644
--- a/sw/inc/viewsh.hxx
+++ b/sw/inc/viewsh.hxx
@@ -192,6 +192,9 @@ protected:
bool mbInLibreOfficeKitCallback;
+ /// The virtual device we paint to will end up on the screen.
+ bool mbOutputToWindow;
+
public:
TYPEINFO();
@@ -580,6 +583,9 @@ public:
/// Are we doing tiled rendering?
bool isTiledRendering() const;
+ void setOutputToWindow(bool bOutputToWindow);
+ bool isOutputToWindow() const;
+
};
// manages global ShellPointer
diff --git a/sw/source/core/doc/notxtfrm.cxx b/sw/source/core/doc/notxtfrm.cxx
index 5327ea3..aa2975b 100644
--- a/sw/source/core/doc/notxtfrm.cxx
+++ b/sw/source/core/doc/notxtfrm.cxx
@@ -935,7 +935,7 @@ void SwNoTextFrm::PaintPicture( vcl::RenderContext* pOut, const SwRect &rGrfArea
pVout = 0;
OSL_ENSURE( OUTDEV_VIRDEV != pOut->GetOutDevType() ||
- pShell->GetViewOptions()->IsPDFExport(),
+ pShell->GetViewOptions()->IsPDFExport() || pShell->isOutputToWindow(),
"pOut should not be a virtual device" );
pGrfNd->StartGraphicAnimation(pOut, aAlignedGrfArea.Pos(),
diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx
index 739c898..5d66750 100644
--- a/sw/source/core/view/viewsh.cxx
+++ b/sw/source/core/view/viewsh.cxx
@@ -139,6 +139,16 @@ bool SwViewShell::isTiledRendering() const
return getIDocumentDrawModelAccess()->GetDrawModel()->isTiledRendering();
}
+void SwViewShell::setOutputToWindow(bool bOutputToWindow)
+{
+ mbOutputToWindow = bOutputToWindow;
+}
+
+bool SwViewShell::isOutputToWindow() const
+{
+ return mbOutputToWindow;
+}
+
static void
lcl_PaintTransparentFormControls(SwViewShell & rShell, SwRect const& rRect)
{
diff --git a/sw/source/core/view/vnew.cxx b/sw/source/core/view/vnew.cxx
index 81333b4..2e8ed74 100644
--- a/sw/source/core/view/vnew.cxx
+++ b/sw/source/core/view/vnew.cxx
@@ -170,6 +170,7 @@ SwViewShell::SwViewShell( SwDoc& rDocument, vcl::Window *pWindow,
mnLockPaint( 0 ),
mbSelectAll(false),
mbInLibreOfficeKitCallback(false),
+ mbOutputToWindow(false),
mpPrePostOutDev(0), // #i72754#
maPrePostMapMode()
{
@@ -246,6 +247,7 @@ SwViewShell::SwViewShell( SwViewShell& rShell, vcl::Window *pWindow,
mnLockPaint( 0 ),
mbSelectAll(false),
mbInLibreOfficeKitCallback(false),
+ mbOutputToWindow(false),
mpPrePostOutDev(0), // #i72754#
maPrePostMapMode()
{
diff --git a/sw/source/uibase/docvw/edtwin2.cxx b/sw/source/uibase/docvw/edtwin2.cxx
index fc38db6..dd78039 100644
--- a/sw/source/uibase/docvw/edtwin2.cxx
+++ b/sw/source/uibase/docvw/edtwin2.cxx
@@ -467,7 +467,11 @@ void SwEditWin::Paint(vcl::RenderContext& rRenderContext, const Rectangle& rRect
GetView().GetVisArea().GetHeight() <= 0 )
Invalidate( rRect );
else
+ {
+ pWrtShell->setOutputToWindow(true);
pWrtShell->Paint(rRenderContext, rRect);
+ pWrtShell->setOutputToWindow(false);
+ }
if( bPaintShadowCrsr )
m_pShadCrsr->Paint();
commit cc9e9219cb897fa1a84916feb13720020fd20b12
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Wed Jun 24 10:59:34 2015 +0200
SwNoTextFrm::Paint: stop using SwViewShell::GetOut()
Change-Id: Id7a975cff09066bd796a7fbdee63393266c1843e
diff --git a/sw/source/core/doc/notxtfrm.cxx b/sw/source/core/doc/notxtfrm.cxx
index 729e950..5327ea3 100644
--- a/sw/source/core/doc/notxtfrm.cxx
+++ b/sw/source/core/doc/notxtfrm.cxx
@@ -215,7 +215,7 @@ static void lcl_ClearArea( const SwFrm &rFrm,
}
}
-void SwNoTextFrm::Paint(vcl::RenderContext& /*rRenderContext*/, SwRect const& rRect, SwPrintData const*const) const
+void SwNoTextFrm::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRect, SwPrintData const*const) const
{
if ( Frm().IsEmpty() )
return;
@@ -245,8 +245,7 @@ void SwNoTextFrm::Paint(vcl::RenderContext& /*rRenderContext*/, SwRect const& rR
SfxProgress::EnterLock(); // No progress reschedules in paint (SwapIn)
- OutputDevice *pOut = pSh->GetOut();
- pOut->Push();
+ rRenderContext.Push();
bool bClip = true;
tools::PolyPolygon aPoly;
@@ -258,12 +257,12 @@ void SwNoTextFrm::Paint(vcl::RenderContext& /*rRenderContext*/, SwRect const& rR
// #i13147# - add 2nd parameter with value <true> to
// method call <FindFlyFrm().GetContour(..)> to indicate that it is called
// for paint in order to avoid load of the intrinsic graphic.
- if ( ( !pOut->GetConnectMetaFile() ||
+ if ( ( !rRenderContext.GetConnectMetaFile() ||
!pSh->GetWin() ) &&
FindFlyFrm()->GetContour( aPoly, true )
)
{
- pOut->SetClipRegion(vcl::Region(aPoly));
+ rRenderContext.SetClipRegion(vcl::Region(aPoly));
bClip = false;
}
@@ -294,23 +293,23 @@ void SwNoTextFrm::Paint(vcl::RenderContext& /*rRenderContext*/, SwRect const& rR
{
// Calculate the four to-be-deleted rectangles
if( pSh->GetWin() )
- ::lcl_ClearArea( *this, *pSh->GetOut(), aPaintArea, aNormal );
+ ::lcl_ClearArea( *this, rRenderContext, aPaintArea, aNormal );
// The intersection of the PaintArea and the Bitmap contains the absolutely visible area of the Frame
aPaintArea._Intersection( aNormal );
if ( bClip )
- pOut->IntersectClipRegion( aPaintArea.SVRect() );
+ rRenderContext.IntersectClipRegion( aPaintArea.SVRect() );
/// delete unused 3rd parameter
- PaintPicture( pOut, aGrfArea );
+ PaintPicture( &rRenderContext, aGrfArea );
}
else
// If it's not visible, simply delete the given Area
- lcl_ClearArea( *this, *pSh->GetOut(), aPaintArea, SwRect() );
+ lcl_ClearArea( *this, rRenderContext, aPaintArea, SwRect() );
if( pGrfNd )
pGrfNd->SetFrameInPaint( false );
- pOut->Pop();
+ rRenderContext.Pop();
SfxProgress::LeaveLock();
}
commit 2fb93c6436739dfc8bec1348fad4f263cd625b65
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Wed Jun 24 10:51:37 2015 +0200
SwFrm::Paint: take a vcl::RenderContext
Change-Id: I530d98a425adb32e2c8e1e4d012130f68f6c90a1
diff --git a/sw/source/core/doc/notxtfrm.cxx b/sw/source/core/doc/notxtfrm.cxx
index c3d62ed..729e950 100644
--- a/sw/source/core/doc/notxtfrm.cxx
+++ b/sw/source/core/doc/notxtfrm.cxx
@@ -215,7 +215,7 @@ static void lcl_ClearArea( const SwFrm &rFrm,
}
}
-void SwNoTextFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
+void SwNoTextFrm::Paint(vcl::RenderContext& /*rRenderContext*/, SwRect const& rRect, SwPrintData const*const) const
{
if ( Frm().IsEmpty() )
return;
diff --git a/sw/source/core/draw/dflyobj.cxx b/sw/source/core/draw/dflyobj.cxx
index 43ba556..a69ac3d 100644
--- a/sw/source/core/draw/dflyobj.cxx
+++ b/sw/source/core/draw/dflyobj.cxx
@@ -483,7 +483,7 @@ void SwVirtFlyDrawObj::wrap_DoPaintObject(
RestoreMapMode aRestoreMapModeIfNeeded( pShell );
// paint the FlyFrame (use standard VCL-Paint)
- pFlyFrm->Paint( GetFlyFrm()->Frm() );
+ pFlyFrm->Paint( *pShell->GetOut(), GetFlyFrm()->Frm() );
}
}
}
diff --git a/sw/source/core/inc/cellfrm.hxx b/sw/source/core/inc/cellfrm.hxx
index 21b73c4..efd3796 100644
--- a/sw/source/core/inc/cellfrm.hxx
+++ b/sw/source/core/inc/cellfrm.hxx
@@ -43,7 +43,7 @@ public:
SwCellFrm( const SwTableBox &, SwFrm*, bool bInsertContent = true );
virtual bool GetCrsrOfst( SwPosition *, Point&, SwCrsrMoveState* = 0, bool bTestBackground = false ) const SAL_OVERRIDE;
- virtual void Paint( SwRect const&,
+ virtual void Paint( vcl::RenderContext& rRenderContext, SwRect const&,
SwPrintData const*const pPrintData = NULL ) const SAL_OVERRIDE;
virtual void CheckDirection( bool bVert ) SAL_OVERRIDE;
diff --git a/sw/source/core/inc/flyfrm.hxx b/sw/source/core/inc/flyfrm.hxx
index df2edc4..59f33db 100644
--- a/sw/source/core/inc/flyfrm.hxx
+++ b/sw/source/core/inc/flyfrm.hxx
@@ -162,7 +162,7 @@ public:
// get client information
virtual bool GetInfo( SfxPoolItem& ) const SAL_OVERRIDE;
- virtual void Paint( SwRect const&,
+ virtual void Paint( vcl::RenderContext& rRenderContext, SwRect const&,
SwPrintData const*const pPrintData = NULL ) const SAL_OVERRIDE;
virtual Size ChgSize( const Size& aNewSize ) SAL_OVERRIDE;
virtual bool GetCrsrOfst( SwPosition *, Point&,
diff --git a/sw/source/core/inc/frame.hxx b/sw/source/core/inc/frame.hxx
index 8d283f5..2072d40 100644
--- a/sw/source/core/inc/frame.hxx
+++ b/sw/source/core/inc/frame.hxx
@@ -764,7 +764,7 @@ public:
SwCrsrMoveState* = 0, bool bTestBackground = false ) const;
virtual bool GetCharRect( SwRect &, const SwPosition&,
SwCrsrMoveState* = 0 ) const;
- virtual void Paint( SwRect const&,
+ virtual void Paint( vcl::RenderContext& rRenderContext, SwRect const&,
SwPrintData const*const pPrintData = NULL ) const;
// HACK: shortcut between frame and formatting
diff --git a/sw/source/core/inc/layfrm.hxx b/sw/source/core/inc/layfrm.hxx
index e61fbf7..b3b0ccb 100644
--- a/sw/source/core/inc/layfrm.hxx
+++ b/sw/source/core/inc/layfrm.hxx
@@ -104,7 +104,7 @@ public:
SwLayoutFrm( SwFrameFormat*, SwFrm* );
- virtual void Paint( SwRect const&,
+ virtual void Paint( vcl::RenderContext& rRenderContext, SwRect const&,
SwPrintData const*const pPrintData = NULL ) const SAL_OVERRIDE;
const SwFrm *Lower() const { return m_pLower; }
SwFrm *Lower() { return m_pLower; }
diff --git a/sw/source/core/inc/notxtfrm.hxx b/sw/source/core/inc/notxtfrm.hxx
index 12a91dd..e0a65c4 100644
--- a/sw/source/core/inc/notxtfrm.hxx
+++ b/sw/source/core/inc/notxtfrm.hxx
@@ -46,7 +46,7 @@ protected:
public:
SwNoTextFrm( SwNoTextNode * const, SwFrm* );
- virtual void Paint( SwRect const&,
+ virtual void Paint( vcl::RenderContext& rRenderContext, SwRect const&,
SwPrintData const*const pPrintData = NULL ) const SAL_OVERRIDE;
virtual bool GetCharRect( SwRect &, const SwPosition&,
SwCrsrMoveState* = 0) const SAL_OVERRIDE;
diff --git a/sw/source/core/inc/rootfrm.hxx b/sw/source/core/inc/rootfrm.hxx
index fe0d6b0..6a90472 100644
--- a/sw/source/core/inc/rootfrm.hxx
+++ b/sw/source/core/inc/rootfrm.hxx
@@ -199,7 +199,7 @@ public:
virtual bool GetCrsrOfst( SwPosition *, Point&,
SwCrsrMoveState* = 0, bool bTestBackground = false ) const SAL_OVERRIDE;
- virtual void Paint( SwRect const&,
+ virtual void Paint( vcl::RenderContext& rRenderContext, SwRect const&,
SwPrintData const*const pPrintData = NULL ) const SAL_OVERRIDE;
virtual SwTwips ShrinkFrm( SwTwips, bool bTst = false, bool bInfo = false ) SAL_OVERRIDE;
virtual SwTwips GrowFrm ( SwTwips, bool bTst = false, bool bInfo = false ) SAL_OVERRIDE;
diff --git a/sw/source/core/inc/tabfrm.hxx b/sw/source/core/inc/tabfrm.hxx
index c78872b..3f0c935 100644
--- a/sw/source/core/inc/tabfrm.hxx
+++ b/sw/source/core/inc/tabfrm.hxx
@@ -126,7 +126,7 @@ public:
SwTabFrm* FindMaster( bool bFirstMaster = false ) const;
virtual bool GetInfo( SfxPoolItem &rHint ) const SAL_OVERRIDE;
- virtual void Paint( SwRect const&,
+ virtual void Paint( vcl::RenderContext& rRenderContext, SwRect const&,
SwPrintData const*const pPrintData = NULL ) const SAL_OVERRIDE;
virtual void CheckDirection( bool bVert ) SAL_OVERRIDE;
diff --git a/sw/source/core/inc/txtfrm.hxx b/sw/source/core/inc/txtfrm.hxx
index 7bfa692..0ca7591 100644
--- a/sw/source/core/inc/txtfrm.hxx
+++ b/sw/source/core/inc/txtfrm.hxx
@@ -287,7 +287,7 @@ public:
void PaintExtraData( const SwRect & rRect ) const; /// Page number etc.
SwRect Paint();
- virtual void Paint( SwRect const&,
+ virtual void Paint( vcl::RenderContext& rRenderContext, SwRect const&,
SwPrintData const*const pPrintData = NULL ) const SAL_OVERRIDE;
virtual bool GetInfo( SfxPoolItem & ) const SAL_OVERRIDE;
diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx
index 9f1393d..e81a7cb 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -3173,7 +3173,7 @@ namespace
* 3. Paint the document content (text)
* 4. Paint the draw layer that is above the document
|*/
-void SwRootFrm::Paint(SwRect const& rRect, SwPrintData const*const pPrintData) const
+void SwRootFrm::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRect, SwPrintData const*const pPrintData) const
{
OSL_ENSURE( Lower() && Lower()->IsPageFrm(), "Lower of root is no page." );
@@ -3389,7 +3389,7 @@ void SwRootFrm::Paint(SwRect const& rRect, SwPrintData const*const pPrintData) c
gProp.pSSpecSubsLines->PaintSubsidiary( pSh->GetOut(), NULL, gProp );
}
- pPage->Paint( aPaintRect );
+ pPage->Paint( rRenderContext, aPaintRect );
// no paint of page border and shadow, if writer is in place mode.
if( pSh->GetWin() && pSh->GetDoc()->GetDocShell() &&
@@ -3586,7 +3586,7 @@ SwShortCut::SwShortCut( const SwFrm& rFrm, const SwRect& rRect )
}
}
-void SwLayoutFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
+void SwLayoutFrm::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRect, SwPrintData const*const) const
{
SwViewShell *pSh = getRootFrm()->GetCurrShell();
@@ -3670,7 +3670,7 @@ void SwLayoutFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
pFrm->ResetCompletePaint();
aPaintRect._Intersection( rRect );
- pFrm->Paint( aPaintRect );
+ pFrm->Paint( rRenderContext, aPaintRect );
if ( Lower() && Lower()->IsColumnFrm() )
{
@@ -4092,10 +4092,10 @@ bool SwFlyFrm::IsPaint( SdrObject *pObj, const SwViewShell *pSh )
return bPaint;
}
-void SwCellFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
+void SwCellFrm::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRect, SwPrintData const*const) const
{
if ( GetLayoutRowSpan() >= 1 )
- SwLayoutFrm::Paint( rRect );
+ SwLayoutFrm::Paint( rRenderContext, rRect );
}
struct BorderLinesGuard
@@ -4113,7 +4113,7 @@ private:
BorderLines *const m_pBorderLines;
};
-void SwFlyFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
+void SwFlyFrm::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRect, SwPrintData const*const) const
{
//optimize thumbnail generation and store procedure to improve odt saving performance, #i120030#
SwViewShell *pShell = getRootFrm()->GetCurrShell();
@@ -4352,7 +4352,7 @@ void SwFlyFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
}
}
- SwLayoutFrm::Paint( aRect );
+ SwLayoutFrm::Paint( rRenderContext, aRect );
Validate();
@@ -4369,7 +4369,7 @@ void SwFlyFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
gProp.pSProgress->Reschedule();
}
-void SwTabFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
+void SwTabFrm::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRect, SwPrintData const*const) const
{
const SwViewOption* pViewOption = gProp.pSGlobalShell->GetViewOptions();
if (pViewOption->IsTable())
@@ -4392,7 +4392,7 @@ void SwTabFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
aHelper.PaintLines(*gProp.pSGlobalShell->GetOut(), rRect);
}
- SwLayoutFrm::Paint( rRect );
+ SwLayoutFrm::Paint( rRenderContext, rRect );
}
// OD 10.01.2003 #i6467# - no light grey rectangle for page preview
else if ( gProp.pSGlobalShell->GetWin() && !gProp.pSGlobalShell->IsPreview() )
@@ -7713,7 +7713,7 @@ Graphic SwFlyFrameFormat::MakeGraphic( ImageMap* pMap )
&aSwRedirector );
gProp.pSLines->PaintLines( pDev, gProp );
if ( pFly->IsFlyInCntFrm() )
- pFly->Paint( aOut );
+ pFly->Paint( *pDev, aOut );
gProp.pSLines->PaintLines( pDev, gProp );
// OD 30.08.2002 #102450# - add 3rd parameter
pImp->PaintLayer( pIDDMA->GetHeavenId(), 0, aOut, &aPageBackgrdColor,
diff --git a/sw/source/core/layout/unusedf.cxx b/sw/source/core/layout/unusedf.cxx
index 3561928..a788a58 100644
--- a/sw/source/core/layout/unusedf.cxx
+++ b/sw/source/core/layout/unusedf.cxx
@@ -26,7 +26,7 @@ void SwFrm::Format( const SwBorderAttrs * )
OSL_FAIL( "Format() of the base class called." );
}
-void SwFrm::Paint(SwRect const&, SwPrintData const*const) const
+void SwFrm::Paint(vcl::RenderContext&, SwRect const&, SwPrintData const*const) const
{
OSL_FAIL( "Paint() of the base class called." );
}
diff --git a/sw/source/core/text/frmpaint.cxx b/sw/source/core/text/frmpaint.cxx
index 30b1f51..9dad95b 100644
--- a/sw/source/core/text/frmpaint.cxx
+++ b/sw/source/core/text/frmpaint.cxx
@@ -573,7 +573,7 @@ bool SwTextFrm::PaintEmpty( const SwRect &rRect, bool bCheck ) const
return false;
}
-void SwTextFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
+void SwTextFrm::Paint(vcl::RenderContext& /*rRenderContext*/, SwRect const& rRect, SwPrintData const*const) const
{
ResetRepaint();
diff --git a/sw/source/core/text/porfly.cxx b/sw/source/core/text/porfly.cxx
index aefa9d4..ed21ab8 100644
--- a/sw/source/core/text/porfly.cxx
+++ b/sw/source/core/text/porfly.cxx
@@ -238,7 +238,7 @@ void SwFlyCntPortion::Paint( const SwTextPaintInfo &rInf ) const
// GetFlyFrm() may change the layout mode at the output device.
{
SwLayoutModeModifier aLayoutModeModifier( *rInf.GetOut() );
- GetFlyFrm()->Paint( aRect );
+ GetFlyFrm()->Paint( const_cast<vcl::RenderContext&>(*rInf.GetOut()), aRect );
}
((SwTextPaintInfo&)rInf).GetRefDev()->SetLayoutMode(
rInf.GetOut()->GetLayoutMode() );
diff --git a/sw/source/core/view/viewpg.cxx b/sw/source/core/view/viewpg.cxx
index 7382d68..3a3749b 100644
--- a/sw/source/core/view/viewpg.cxx
+++ b/sw/source/core/view/viewpg.cxx
@@ -212,7 +212,7 @@ void SwViewShell::PrintProspect(
aPos -= aShell.maVisArea.Pos();
aMapMode.SetOrigin( aPos );
pPrinter->SetMapMode( aMapMode );
- pStPage->GetUpper()->Paint( pStPage->Frm() );
+ pStPage->GetUpper()->Paint( *pOutDev, pStPage->Frm() );
}
pStPage = pNxtPage;
diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx
index 009f6e4..739c898 100644
--- a/sw/source/core/view/viewsh.cxx
+++ b/sw/source/core/view/viewsh.cxx
@@ -379,7 +379,7 @@ void SwViewShell::ImplEndAction( const bool bIdleEnd )
mpOut = pVout.get();
if ( bPaintsFromSystem )
PaintDesktop(*mpOut, aRect);
- pCurrentLayout->Paint( aRect );
+ pCurrentLayout->Paint( *mpOut, aRect );
pOld->DrawOutDev( aRect.Pos(), aRect.SSize(),
aRect.Pos(), aRect.SSize(), *pVout );
mpOut = pOld;
@@ -401,7 +401,7 @@ void SwViewShell::ImplEndAction( const bool bIdleEnd )
if ( bPaintsFromSystem )
PaintDesktop(*GetOut(), aRect);
if (!isTiledRendering())
- pCurrentLayout->Paint( aRect );
+ pCurrentLayout->Paint( *mpOut, aRect );
else
pCurrentLayout->GetCurrShell()->InvalidateWindows(aRect.SVRect());
@@ -1275,7 +1275,7 @@ bool SwViewShell::SmoothScroll( long lXDiff, long lYDiff, const Rectangle *pRect
// SW paint stuff
PaintDesktop(*GetOut(), aRect);
SwViewShell::mbLstAct = true;
- GetLayout()->Paint( aRect );
+ GetLayout()->Paint( *GetOut(), aRect );
SwViewShell::mbLstAct = false;
// end paint and destroy ObjectContact again
@@ -1712,7 +1712,7 @@ void SwViewShell::Paint(vcl::RenderContext& rRenderContext, const Rectangle &rRe
if ( aRect.IsInside( maInvalidRect ) )
ResetInvalidRect();
SwViewShell::mbLstAct = true;
- GetLayout()->Paint( aRect );
+ GetLayout()->Paint( rRenderContext, aRect );
SwViewShell::mbLstAct = false;
}
else
@@ -1733,7 +1733,7 @@ void SwViewShell::Paint(vcl::RenderContext& rRenderContext, const Rectangle &rRe
if ( aRect.IsInside( maInvalidRect ) )
ResetInvalidRect();
SwViewShell::mbLstAct = true;
- GetLayout()->Paint( aRect );
+ GetLayout()->Paint( rRenderContext, aRect );
SwViewShell::mbLstAct = false;
// --> OD 2009-08-12 #i101192#
// end Pre/PostPaint encapsulation
diff --git a/sw/source/core/view/vprint.cxx b/sw/source/core/view/vprint.cxx
index 3098745c..631f69a 100644
--- a/sw/source/core/view/vprint.cxx
+++ b/sw/source/core/view/vprint.cxx
@@ -533,7 +533,7 @@ bool SwViewShell::PrintOrPDFExport(
::SetSwVisArea( pViewSh2, pStPage->Frm() );
- pStPage->GetUpper()->Paint( pStPage->Frm(), &rPrintData );
+ pStPage->GetUpper()->Paint( *pOutDev, pStPage->Frm(), &rPrintData );
SwPaintQueue::Repaint();
@@ -616,7 +616,7 @@ void SwViewShell::PrtOle2( SwDoc *pDoc, const SwViewOption *pOpt, const SwPrintD
rRenderContext.Push( PushFlags::CLIPREGION );
rRenderContext.IntersectClipRegion( aSwRect.SVRect() );
- pSh->GetLayout()->Paint( aSwRect );
+ pSh->GetLayout()->Paint( rRenderContext, aSwRect );
rRenderContext.Pop();
// first the CurrShell object needs to be destroyed!
More information about the Libreoffice-commits
mailing list