[Libreoffice-commits] .: binfilter/bf_sw binfilter/inc
Joseph Powers
jpowers at kemper.freedesktop.org
Tue Sep 20 07:25:39 PDT 2011
binfilter/bf_sw/source/core/doc/sw_notxtfrm.cxx | 7 +++
binfilter/bf_sw/source/core/inc/notxtfrm.hxx | 1
binfilter/bf_sw/source/core/layout/sw_calcmove.cxx | 31 ++++++++++++++++
binfilter/bf_sw/source/core/view/sw_viewsh.cxx | 39 +++++++++++++++++++++
binfilter/bf_sw/source/core/view/sw_vnew.cxx | 5 ++
binfilter/inc/bf_sw/viewsh.hxx | 8 ++++
6 files changed, 91 insertions(+)
New commits:
commit 1b94742492067c23500c083b76fe7426cc877362
Author: Joseph Powers <jpowers27 at cox.net>
Date: Tue Sep 20 07:25:27 2011 -0700
Some more cleanup of bf_sw classes
diff --git a/binfilter/bf_sw/source/core/doc/sw_notxtfrm.cxx b/binfilter/bf_sw/source/core/doc/sw_notxtfrm.cxx
index d90978b..1f84bf8 100644
--- a/binfilter/bf_sw/source/core/doc/sw_notxtfrm.cxx
+++ b/binfilter/bf_sw/source/core/doc/sw_notxtfrm.cxx
@@ -302,6 +302,13 @@ extern void ClrContourCache( const SdrObject *pObj ); // TxtFly.Cxx
/*N*/ pGrfNd->GetGrfObj().StopAnimation( pOut, long(this) );
/*N*/ }
+
+/*N*/ BOOL SwNoTxtFrm::HasAnimation() const
+/*N*/ {
+/*N*/ const SwGrfNode* pGrfNd = GetNode()->GetGrfNode();
+/*N*/ return pGrfNd && pGrfNd->IsAnimated();
+/*N*/ }
+
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sw/source/core/inc/notxtfrm.hxx b/binfilter/bf_sw/source/core/inc/notxtfrm.hxx
index 044f075..d749d67 100644
--- a/binfilter/bf_sw/source/core/inc/notxtfrm.hxx
+++ b/binfilter/bf_sw/source/core/inc/notxtfrm.hxx
@@ -73,6 +73,7 @@ public:
void GetGrfArea( SwRect &rRect, SwRect * = 0, BOOL bMirror = TRUE ) const;
void StopAnimation( OutputDevice* = 0 ) const;
+ BOOL HasAnimation() const;
// Routinen fuer den Grafik-Cache
USHORT GetWeight() { return nWeight; }
diff --git a/binfilter/bf_sw/source/core/layout/sw_calcmove.cxx b/binfilter/bf_sw/source/core/layout/sw_calcmove.cxx
index e252511..644d285 100644
--- a/binfilter/bf_sw/source/core/layout/sw_calcmove.cxx
+++ b/binfilter/bf_sw/source/core/layout/sw_calcmove.cxx
@@ -485,6 +485,37 @@ namespace binfilter {
|* SwPageFrm::MakeAll()
|*
|*************************************************************************/
+
+/*N*/ void lcl_CheckObjects( SwSortDrawObjs* pSortedObjs, SwFrm* pFrm, long& rBot )
+/*N*/ {
+/*N*/ //Und dann kann es natuerlich noch Absatzgebundene
+/*N*/ //Rahmen geben, die unterhalb ihres Absatzes stehen.
+/*N*/ long nMax = 0;
+/*N*/ for ( USHORT i = 0; i < pSortedObjs->Count(); ++i )
+/*N*/ {
+/*N*/ SdrObject *pObj = (*pSortedObjs)[i];
+/*N*/ long nTmp = 0;
+/*N*/ if ( pObj->IsWriterFlyFrame() )
+/*N*/ {
+/*N*/ SwFlyFrm *pFly = ((SwVirtFlyDrawObj*)pObj)->GetFlyFrm();
+/*N*/ if( pFly->Frm().Top() != WEIT_WECH &&
+/*N*/ ( pFrm->IsPageFrm() ? pFly->IsFlyLayFrm() :
+/*N*/ ( pFly->IsFlyAtCntFrm() &&
+/*N*/ ( pFrm->IsBodyFrm() ? pFly->GetAnchor()->IsInDocBody() :
+/*N*/ pFly->GetAnchor()->IsInFtn() ) ) ) )
+/*N*/ {
+/*N*/ nTmp = pFly->Frm().Bottom();
+/*N*/ }
+/*N*/ }
+/*N*/ else
+/*N*/ nTmp = pObj->GetBoundRect().Bottom();
+/*N*/ nMax = Max( nTmp, nMax );
+/*N*/ }
+/*N*/ ++nMax; //Unterkante vs. Hoehe!
+/*N*/ rBot = Max( rBot, nMax );
+/*N*/ }
+
+
/*N*/ void SwPageFrm::MakeAll()
/*N*/ {
/*N*/ PROTOCOL_ENTER( this, PROT_MAKEALL, 0, 0 )
diff --git a/binfilter/bf_sw/source/core/view/sw_viewsh.cxx b/binfilter/bf_sw/source/core/view/sw_viewsh.cxx
index 9e72015..cc539de 100644
--- a/binfilter/bf_sw/source/core/view/sw_viewsh.cxx
+++ b/binfilter/bf_sw/source/core/view/sw_viewsh.cxx
@@ -66,6 +66,45 @@ bool bInSizeNotify = FALSE;
/*N*/ TYPEINIT0(ViewShell);
+/******************************************************************************
+|*
+|* ViewShell::InvalidateWindows()
+|*
+******************************************************************************/
+
+/*N*/ void ViewShell::InvalidateWindows( const SwRect &rRect )
+/*N*/ {
+/*N*/ ViewShell *pSh = this;
+/*N*/ do
+/*N*/ {
+/*N*/ if ( pSh->GetWin() )
+/*N*/ {
+/*N*/ if ( pSh->IsPreView() )
+/*?*/ DBG_BF_ASSERT(0, "STRIP");
+/*N*/ else if ( pSh->VisArea().IsOver( rRect ) )
+/*N*/ pSh->GetWin()->Invalidate( rRect.SVRect() );
+/*N*/ }
+/*N*/ pSh = (ViewShell*)pSh->GetNext();
+/*N*/
+/*N*/ } while ( pSh != this );
+/*N*/ }
+
+/******************************************************************************
+|*
+|* ViewShell::SetFirstVisPageInvalid()
+|*
+******************************************************************************/
+
+/*N*/ void ViewShell::SetFirstVisPageInvalid()
+/*N*/ {
+/*N*/ ViewShell *pSh = this;
+/*N*/ do
+/*N*/ { pSh->Imp()->SetFirstVisPageInvalid();
+/*N*/ pSh = (ViewShell*)pSh->GetNext();
+/*N*/
+/*N*/ } while ( pSh != this );
+/*N*/ }
+
/*N*/ OutputDevice& ViewShell::GetRefDev() const
/*N*/ {
/*N*/ OutputDevice* pTmpOut = 0;
diff --git a/binfilter/bf_sw/source/core/view/sw_vnew.cxx b/binfilter/bf_sw/source/core/view/sw_vnew.cxx
index 2fa4968..843b78f 100644
--- a/binfilter/bf_sw/source/core/view/sw_vnew.cxx
+++ b/binfilter/bf_sw/source/core/view/sw_vnew.cxx
@@ -118,6 +118,11 @@ namespace binfilter {
/*N*/ delete mpTmpRef;
/*N*/ delete pAccOptions;
/*N*/ }
+
+/*N*/ BOOL ViewShell::HasDrawView() const
+/*N*/ {
+/*N*/ return Imp()->HasDrawView();
+/*N*/ }
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/inc/bf_sw/viewsh.hxx b/binfilter/inc/bf_sw/viewsh.hxx
index cc8e613..31c74e5 100644
--- a/binfilter/inc/bf_sw/viewsh.hxx
+++ b/binfilter/inc/bf_sw/viewsh.hxx
@@ -131,8 +131,13 @@ public:
SwViewImp *Imp() { return pImp; }
const SwViewImp *Imp() const { return pImp; }
+ void InvalidateWindows( const SwRect &rRect );
+
const SwRect &VisArea() const { return aVisArea; }
+ //Invalidierung der ersten Sichtbaren Seite fuer alle Shells im Ring.
+ void SetFirstVisPageInvalid();
+
inline SwDoc *GetDoc() const { return pDoc; } //niemals 0.
// 1. GetPrt: The printer at the document
@@ -181,6 +186,9 @@ public:
SfxProgress& rProgress,
const SwPagePreViewPrtData* = 0 );
+ // Abfragen/Erzeugen DrawView + PageView
+ sal_Bool HasDrawView() const;
+
//sorge dafuer, das auf jedenfall die MarkListe aktuell ist (Bug 57153)
sal_Bool IsPreView() const { return bPreView; }
More information about the Libreoffice-commits
mailing list