diff options
author | Cédric Bosdonnat <cedric.bosdonnat.ooo@free.fr> | 2011-09-21 09:51:51 +0200 |
---|---|---|
committer | Cédric Bosdonnat <cedric.bosdonnat.ooo@free.fr> | 2011-09-21 17:44:50 +0200 |
commit | 7a6ae7ff20a0b26a083c13649712635758797c15 (patch) | |
tree | 6848a5c43053c4dc5522666d67de0be2b9b054b4 /sw | |
parent | 8861df394604fa6dd8c72181a023557d037f7235 (diff) |
Page Break: decouple it from the text bounding lines painting
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/core/inc/layfrm.hxx | 2 | ||||
-rwxr-xr-x | sw/source/core/layout/paintfrm.cxx | 17 |
2 files changed, 14 insertions, 5 deletions
diff --git a/sw/source/core/inc/layfrm.hxx b/sw/source/core/inc/layfrm.hxx index 5300ba8f46a3..4d5d3e8ac51c 100644 --- a/sw/source/core/inc/layfrm.hxx +++ b/sw/source/core/inc/layfrm.hxx @@ -170,7 +170,7 @@ public: const SwFrm* GetLastLower() const; inline SwFrm* GetLastLower(); - virtual void PaintBreak() const{ }; + virtual void PaintBreak() const; }; //Um doppelte Implementierung zu sparen wird hier ein bischen gecasted diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx index f3db9856493b..a03701f62e60 100755 --- a/sw/source/core/layout/paintfrm.cxx +++ b/sw/source/core/layout/paintfrm.cxx @@ -3006,6 +3006,7 @@ SwRootFrm::Paint(SwRect const& rRect, SwPrintData const*const pPrintData) const } pPage->PaintDecorators( ); + pPage->PaintBreak(); } else if ( bBookMode && pSh->GetWin() && !pSh->GetDoc()->GetDocShell()->IsInPlaceActive() ) { @@ -3385,6 +3386,7 @@ void SwPageFrm::PaintBreak( ) const ProcessPrimitives( aSeq ); } } + SwLayoutFrm::PaintBreak( ); } } @@ -3474,6 +3476,17 @@ void SwColumnFrm::PaintBreak( ) const } } +void SwLayoutFrm::PaintBreak( ) const +{ + const SwFrm* pFrm = Lower(); + while ( pFrm ) + { + if ( pFrm->IsLayoutFrm() ) + static_cast< const SwLayoutFrm*>( pFrm )->PaintBreak( ); + pFrm = pFrm->GetNext(); + } +} + void SwPageFrm::PaintDecorators( ) const { SwWrtShell* pWrtSh = dynamic_cast< SwWrtShell* >( pGlobalShell ); @@ -6377,8 +6390,6 @@ void SwPageFrm::PaintSubsidiaryLines( const SwPageFrm *, ProcessPrimitives( lcl_CreatePageAreaDelimiterPrimitives( aArea ) ); } - - PaintBreak(); } void SwColumnFrm::PaintSubsidiaryLines( const SwPageFrm *, @@ -6415,8 +6426,6 @@ void SwColumnFrm::PaintSubsidiaryLines( const SwPageFrm *, ::SwAlignRect( aArea, pGlobalShell ); ProcessPrimitives( lcl_CreateColumnAreaDelimiterPrimitives( aArea ) ); - - PaintBreak(); } void SwSectionFrm::PaintSubsidiaryLines( const SwPageFrm * pPage, |