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 <jpower...@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; } _______________________________________________ Libreoffice-commits mailing list Libreoffice-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits