summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorCédric Bosdonnat <cedric.bosdonnat.ooo@free.fr>2011-09-21 09:51:51 +0200
committerCédric Bosdonnat <cedric.bosdonnat.ooo@free.fr>2011-09-21 17:44:50 +0200
commit7a6ae7ff20a0b26a083c13649712635758797c15 (patch)
tree6848a5c43053c4dc5522666d67de0be2b9b054b4 /sw
parent8861df394604fa6dd8c72181a023557d037f7235 (diff)
Page Break: decouple it from the text bounding lines painting
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/inc/layfrm.hxx2
-rwxr-xr-xsw/source/core/layout/paintfrm.cxx17
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,