[Libreoffice-commits] .: 3 commits - binfilter/bf_sfx2 binfilter/bf_sw binfilter/inc

Caolán McNamara caolan at kemper.freedesktop.org
Mon Sep 5 02:54:56 PDT 2011


 binfilter/bf_sfx2/source/bastyp/sfx2_progress.cxx  |   32 
 binfilter/bf_sw/source/core/bastyp/sw_swregion.cxx |  131 --
 binfilter/bf_sw/source/core/inc/frame.hxx          |    3 
 binfilter/bf_sw/source/core/inc/frmtool.hxx        |    3 
 binfilter/bf_sw/source/core/inc/layact.hxx         |  186 ---
 binfilter/bf_sw/source/core/inc/rootfrm.hxx        |    1 
 binfilter/bf_sw/source/core/inc/txtfrm.hxx         |    2 
 binfilter/bf_sw/source/core/inc/viewimp.hxx        |   65 -
 binfilter/bf_sw/source/core/layout/makefile.mk     |    2 
 binfilter/bf_sw/source/core/layout/sw_flowfrm.cxx  |   26 
 binfilter/bf_sw/source/core/layout/sw_frmtool.cxx  |   21 
 binfilter/bf_sw/source/core/layout/sw_layact.cxx   | 1186 ---------------------
 binfilter/bf_sw/source/core/layout/sw_pagechg.cxx  |   35 
 binfilter/bf_sw/source/core/layout/sw_ssfrm.cxx    |   84 -
 binfilter/bf_sw/source/core/layout/sw_wsfrm.cxx    |    5 
 binfilter/bf_sw/source/core/text/makefile.mk       |    1 
 binfilter/bf_sw/source/core/text/sw_frmpaint.cxx   |  118 --
 binfilter/bf_sw/source/core/text/sw_txtfld.cxx     |   24 
 binfilter/bf_sw/source/core/text/sw_txtfrm.cxx     |   52 
 binfilter/bf_sw/source/core/view/makefile.mk       |    2 
 binfilter/bf_sw/source/core/view/sw_scrrect.cxx    |  106 -
 binfilter/bf_sw/source/core/view/sw_viewimp.cxx    |   56 
 binfilter/bf_sw/source/core/view/sw_viewsh.cxx     |   52 
 binfilter/bf_sw/source/ui/app/sw_mainwn.cxx        |   13 
 binfilter/bf_sw/source/ui/app/sw_swmodul1.cxx      |    8 
 binfilter/inc/bf_sfx2/progress.hxx                 |    2 
 binfilter/inc/bf_sw/mdiexp.hxx                     |    1 
 binfilter/inc/bf_sw/swmodule.hxx                   |    2 
 binfilter/inc/bf_sw/swregion.hxx                   |   19 
 binfilter/inc/bf_sw/viewsh.hxx                     |    6 
 30 files changed, 32 insertions(+), 2212 deletions(-)

New commits:
commit cfbdb2498b255653d3bf9fbf5c07f77d2689c4a6
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Sep 5 10:26:52 2011 +0100

    another round of unused methods

diff --git a/binfilter/bf_sw/source/core/bastyp/sw_swregion.cxx b/binfilter/bf_sw/source/core/bastyp/sw_swregion.cxx
index 1c9a332..e1165f0 100644
--- a/binfilter/bf_sw/source/core/bastyp/sw_swregion.cxx
+++ b/binfilter/bf_sw/source/core/bastyp/sw_swregion.cxx
@@ -36,139 +36,8 @@
 #include "swregion.hxx"
 namespace binfilter {
 
-
 /*N*/ SV_IMPL_VARARR( SwRects, SwRect );
 
-/*************************************************************************
-|*
-|*  SwRegionRects::SwRegionRects()
-|*
-|*************************************************************************/
-
-/*N*/ SwRegionRects::SwRegionRects( const SwRect &rStartRect, USHORT nInit,
-/*N*/                                                       USHORT nGrow ) :
-/*N*/   SwRects( (BYTE)nInit, (BYTE)nGrow ),
-/*N*/   aOrigin( rStartRect )
-/*N*/ {
-/*N*/   Insert( aOrigin, 0 );
-/*N*/ }
-
-/*************************************************************************
- *                      inline InsertRect()
- *
- * InsertRect() wird nur von operator-=() gerufen.
- * Wenn bDel == TRUE ist, dann wird das Rect an der Position nPos mit
- * rRect ueberschrieben, ansonsten wird rRect hinten angehaengt.
- *************************************************************************/
-
-/*N*/  inline void SwRegionRects::InsertRect( const SwRect &rRect, const USHORT nPos,
-/*N*/                                      bool &rDel )
-/*N*/  {
-/*N*/   if( rDel )
-/*N*/   {
-/*N*/       *(pData+nPos) = rRect;
-/*N*/       rDel = FALSE;
-/*N*/   }
-/*N*/   else
-/*N*/       Insert( rRect, Count() );
-/*N*/  }
-
-/*************************************************************************
-|*
-|*  SwRegionRects::operator-=()
-|*
-|*  Beschreibung        Alle Ueberschneidungen der Rechtecke, die sich
-|*      gerade im Array befinden, mit dem uebergebenen Rechteck werden
-|*      entfernt.
-|*      Dazu muessen die vorhandenen Rechtecke entweder aufgeteilt oder
-|*      geloescht werden.
-|*
-|*************************************************************************/
-
-/*N*/ void SwRegionRects::operator-=( const SwRect &rRect )
-/*N*/ {
-/*N*/   USHORT nMax = Count();
-/*N*/   for ( USHORT i = 0; i < nMax; ++i )
-/*N*/   {
-/*N*/       if ( rRect.IsOver( *(pData+i) ) )
-/*N*/       {
-/*N*/           SwRect aTmp( *(pData+i) );
-/*N*/           SwRect aInter( aTmp );
-/*N*/           aInter._Intersection( rRect );
-/*N*/
-/*N*/           // Das erste Rect, das wir inserten wollen, nimmt die
-/*N*/           // Stelle von i ein. So ersparen wir uns das Delete().
-/*N*/           bool bDel = TRUE;
-/*N*/
-/*N*/           //Jetzt aufteilen das Teil: Es sollen diejenigen Rechtecke
-/*N*/           //zurueckbleiben, die im alten aber nicht im neuen liegen.
-/*N*/           //Sprich alle Rechtecke die im alten aber nicht in der Intersection
-/*N*/           //liegen.
-/*N*/           long nTmp;
-/*N*/           if ( 0 < (nTmp = aInter.Top() - aTmp.Top()) )
-/*N*/           {
-/*N*/               const long nOldVal = aTmp.Height();
-/*N*/               aTmp.SSize().Height() = nTmp;
-/*N*/               InsertRect( aTmp, i, bDel );
-/*N*/               aTmp.Height( nOldVal );
-/*N*/           }
-/*N*/
-/*N*/           aTmp.Top( aInter.Top() + aInter.Height() );
-/*N*/           if ( aTmp.Height() > 0 )
-/*N*/               InsertRect( aTmp, i, bDel );
-/*N*/
-/*N*/           aTmp.Top( aInter.Top() );
-/*N*/           aTmp.Bottom( aInter.Bottom() );
-/*N*/           if ( 0 < (nTmp = aInter.Left() - aTmp.Left()) )
-/*N*/           {
-/*N*/               const long nOldVal = aTmp.Width();
-/*N*/               aTmp.Width( nTmp );
-/*N*/               InsertRect( aTmp, i, bDel );
-/*N*/               aTmp.Width( nOldVal );
-/*N*/           }
-/*N*/
-/*N*/           aTmp.Left( aInter.Left() + aInter.Width() ); //+1?
-/*N*/           if ( aTmp.Width() > 0 )
-/*N*/               InsertRect( aTmp, i, bDel );
-/*N*/
-/*N*/           if( bDel )
-/*N*/           {
-/*N*/               Remove( i );
-/*N*/               --i;              //Damit wir keinen uebergehen.
-/*N*/               --nMax;           //Damit wir keinen zuviel verarbeiten.
-/*N*/           }
-/*N*/       }
-/*N*/   }
-/*N*/
-/*N*/ }
-
-/*************************************************************************
- *                      SwRegionRects::Invert()
- *
- * Bezugspunkt ist aOrigin, das Original-SRectangle.
- * Aus Loechern werden Flaechen, aus Flaechen werden Loecher.
- * Ein Hinweis: Wenn keine Rects abgezogen wurden, so ist das enthaltene
- * Rechteck identisch mit aOrigin. Nach Invert() besteht die Region aus
- * einem Null-SRectangle.
- *************************************************************************/
-
-/*************************************************************************
-|*
-|*  SwRegionRects::Compress()
-|*
-|*  Beschreibung        Zusammenfassen von benachbarten Rechtecken.
-|*
-|*************************************************************************/
-
-
-#ifdef _MSC_VER
-#pragma optimize("e",off)
-#endif
-#ifdef _MSC_VER
-#pragma optimize("",on)
-#endif
-
-
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sw/source/core/inc/rootfrm.hxx b/binfilter/bf_sw/source/core/inc/rootfrm.hxx
index 7f94027..6250f02 100644
--- a/binfilter/bf_sw/source/core/inc/rootfrm.hxx
+++ b/binfilter/bf_sw/source/core/inc/rootfrm.hxx
@@ -42,7 +42,6 @@ class SwPaM;
 class SwCursor;
 class SwShellCrsr;
 class SwTableCursor;
-class SwRegionRects;
 
 class SwLayVout;
 class SwDestroyList;
diff --git a/binfilter/bf_sw/source/core/inc/viewimp.hxx b/binfilter/bf_sw/source/core/inc/viewimp.hxx
index 42fd248..164e163 100644
--- a/binfilter/bf_sw/source/core/inc/viewimp.hxx
+++ b/binfilter/bf_sw/source/core/inc/viewimp.hxx
@@ -45,14 +45,12 @@ namespace binfilter {
 class ViewShell;
 class SwFlyFrm;
 class SwViewOption;
-class SwRegionRects;
 class SwScrollAreas;
 class SwScrollColumn;
 class SwFrm;
 class SwDrawView;
 class SdrPageView;
 class SwPageFrm;
-class SwRegionRects;
 class ExtOutputDevice;
 class SdrPaintInfoRec;
 struct SdrPaintProcRec;
@@ -81,7 +79,6 @@ class SwViewImp
     SdrPageView *pSdrPageView;  //Genau eine Seite fuer unsere DrawView
 
     SwPageFrm     *pFirstVisPage;//Zeigt immer auf die erste sichtbare Seite.
-    SwRegionRects *pRegion;      //Sammler fuer Paintrects aus der LayAction.
     SwScrollAreas *pScrollRects; //Sammler fuer Scrollrects aus der LayAction.
     SwScrollAreas *pScrolledArea;//Sammler der gescrollten Rechtecke.
 
@@ -119,9 +116,6 @@ public:
 
     void SetFirstVisPageInvalid() { bFirstPageInvalid = TRUE; }
 
-    //SS'en fuer Paint- und Scrollrects.
-    BOOL AddPaintRect( const SwRect &rRect );
-
     //Wird vom Layout ggf. waehrend einer Action gerufen, wenn der
     //Verdacht besteht, dass es etwas drunter und drueber geht.
     void ResetScroll()        { bScroll = FALSE; }
@@ -132,14 +126,6 @@ public:
     const SwDrawView* GetDrawView() const { return pDrawView; }
           SdrPageView*GetPageView()       { return pSdrPageView; }
     const SdrPageView*GetPageView() const { return pSdrPageView; }
-
-    //Wenn eine Aktion laueft wird diese gebeten zu pruefen ob es
-    //an der zeit ist den WaitCrsr einzuschalten.
-    void CheckWaitCrsr();
-    BOOL IsCalcLayoutProgress() const;  //Fragt die LayAction wenn vorhanden.
-    //TRUE wenn eine LayAction laeuft, dort wird dann auch das Flag fuer
-    //ExpressionFields gesetzt.
-    BOOL IsUpdateExpFlds();
 };
 } //namespace binfilter
 #endif //_VIEWIMP_HXX
diff --git a/binfilter/bf_sw/source/core/layout/sw_flowfrm.cxx b/binfilter/bf_sw/source/core/layout/sw_flowfrm.cxx
index de7da08..0d5a084 100644
--- a/binfilter/bf_sw/source/core/layout/sw_flowfrm.cxx
+++ b/binfilter/bf_sw/source/core/layout/sw_flowfrm.cxx
@@ -1492,7 +1492,7 @@ namespace binfilter {
 /*N*/               if( !bSamePage )
 /*N*/               {
 /*N*/                   ViewShell *pSh = rThis.GetShell();
-/*N*/                   if ( pSh && !pSh->Imp()->IsUpdateExpFlds() )
+/*N*/                   if ( pSh )
 /*N*/                       pSh->GetDoc()->SetNewFldLst();  //Wird von CalcLayout() hinterher erledigt!
 /*N*/                   pNewPage->InvalidateSpelling();
 /*N*/                   pNewPage->InvalidateAutoCompleteWords();
@@ -1791,7 +1791,7 @@ namespace binfilter {
 /*N*/       {
 /*N*/           rThis.Prepare( PREP_BOSS_CHGD, (const void*)pOldPage, FALSE );
 /*N*/           ViewShell *pSh = rThis.GetShell();
-/*N*/           if ( pSh && !pSh->Imp()->IsUpdateExpFlds() )
+/*N*/           if ( pSh )
 /*N*/               pSh->GetDoc()->SetNewFldLst();  //Wird von CalcLayout() hinterher eledigt!
 /*N*/           pNewPage->InvalidateSpelling();
 /*N*/           pNewPage->InvalidateAutoCompleteWords();
diff --git a/binfilter/bf_sw/source/core/layout/sw_pagechg.cxx b/binfilter/bf_sw/source/core/layout/sw_pagechg.cxx
index ea66a2d..85453d5 100644
--- a/binfilter/bf_sw/source/core/layout/sw_pagechg.cxx
+++ b/binfilter/bf_sw/source/core/layout/sw_pagechg.cxx
@@ -1043,9 +1043,6 @@ namespace binfilter {
 /*N*/ {
 /*N*/   OSL_ENSURE( pStart, "Keine Startpage." );
 /*N*/
-/*N*/   ViewShell *pSh   = pStart->GetShell();
-/*N*/   SwViewImp *pImp  = pSh ? pSh->Imp() : 0;
-/*N*/
 /*N*/   //Fuer das Aktualisieren der Seitennummern-Felder gibt nDocPos
 /*N*/   //die Seitenposition an, _ab_ der invalidiert werden soll.
 /*N*/   SwTwips nDocPos  = LONG_MAX;
@@ -1074,11 +1071,6 @@ namespace binfilter {
 /*N*/              )
 /*N*/            )
 /*N*/       {
-/*N*/           //Wenn wir schon ein Seite veraendern muessen kann das eine
-/*N*/           //Weile dauern, deshalb hier den WaitCrsr pruefen.
-/*N*/           if( pImp )
-/*N*/               pImp->CheckWaitCrsr();
-/*N*/
 /*N*/           //Ab hier muessen die Felder invalidiert werden!
 /*N*/           if ( nDocPos == LONG_MAX )
 /*N*/               nDocPos = pPage->GetPrev() ?
@@ -1196,7 +1188,7 @@ namespace binfilter {
 /*N*/       pPage = (SwPageFrm*)pPage->GetNext();
 /*N*/   }
 /*N*/
-/*N*/   if ( bNotifyFields && (!pImp || !pImp->IsUpdateExpFlds()) )
+/*N*/   if ( bNotifyFields )
 /*N*/   {
 /*N*/       SwDocPosUpdate aMsgHnt( nDocPos );
 /*N*/       pDoc->UpdatePageFlds( &aMsgHnt );
@@ -1320,10 +1312,6 @@ namespace binfilter {
 /*N*/       }
 /*N*/   }
 /*N*/
-/*N*/   //Fuer das Aktualisieren der Seitennummern-Felder gibt nDocPos
-/*N*/   //die Seitenposition an, _ab_ der invalidiert werden soll.
-/*N*/   ViewShell *pSh = GetShell();
-/*N*/   if ( !pSh || !pSh->Imp()->IsUpdateExpFlds() )
 /*N*/   {
 /*N*/       SwDocPosUpdate aMsgHnt( pPrevPage->Frm().Top() );
 /*N*/       pDoc->UpdatePageFlds( &aMsgHnt );
diff --git a/binfilter/bf_sw/source/core/layout/sw_wsfrm.cxx b/binfilter/bf_sw/source/core/layout/sw_wsfrm.cxx
index 9495bd8..2547d6e 100644
--- a/binfilter/bf_sw/source/core/layout/sw_wsfrm.cxx
+++ b/binfilter/bf_sw/source/core/layout/sw_wsfrm.cxx
@@ -2774,7 +2774,6 @@ namespace binfilter {
 /*N*/
 /*N*/   bool bEnd = FALSE;
 /*N*/   bool bBackLock = FALSE;
-/*N*/   SwViewImp *pImp = GetShell() ? GetShell()->Imp() : 0;
 /*N*/   {
 /*N*/       // Zugrunde liegender Algorithmus
 /*N*/       // Es wird versucht, eine optimale Hoehe fuer die Spalten zu finden.
@@ -2855,10 +2854,6 @@ namespace binfilter {
 /*N*/           nMaximum = LONG_MAX;
 /*N*/       do
 /*N*/       {
-/*N*/           //Kann eine Weile dauern, deshalb hier auf Waitcrsr pruefen.
-/*N*/           if ( pImp )
-/*N*/               pImp->CheckWaitCrsr();
-/*N*/
 /*N*/           bValidSize = TRUE;
 /*N*/           //Erstmal die Spalten formatieren, das entlastet den
 /*N*/           //Stack ein wenig.
diff --git a/binfilter/bf_sw/source/core/text/sw_txtfld.cxx b/binfilter/bf_sw/source/core/text/sw_txtfld.cxx
index a4131b2..7cf1644 100644
--- a/binfilter/bf_sw/source/core/text/sw_txtfld.cxx
+++ b/binfilter/bf_sw/source/core/text/sw_txtfld.cxx
@@ -125,7 +125,7 @@ namespace binfilter {
 /*N*/           break;
 /*N*/
 /*N*/       case RES_CHAPTERFLD:
-/*N*/           if( !bName && pSh && !pSh->Imp()->IsUpdateExpFlds() )
+/*N*/           if( !bName && pSh )
 /*N*/           {
 /*N*/               ((SwChapterField*)pFld)->ChangeExpansion( pFrame,
 /*N*/                                       &((SwTxtFld*)pHint)->GetTxtNode() );
@@ -134,14 +134,14 @@ namespace binfilter {
 /*N*/           break;
 /*N*/
 /*N*/       case RES_DOCSTATFLD:
-/*N*/           if( !bName && pSh && !pSh->Imp()->IsUpdateExpFlds() )
+/*N*/           if( !bName && pSh )
 /*N*/               ((SwDocStatField*)pFld)->ChangeExpansion( pFrame );
 /*N*/           pRet = new SwFldPortion( pFld->GetCntnt( bName ) );
 /*N*/           break;
 /*N*/
 /*N*/       case RES_PAGENUMBERFLD:
 /*N*/       {
-/*N*/           if( !bName && pSh && !pSh->Imp()->IsUpdateExpFlds() )
+/*N*/           if( !bName && pSh )
 /*N*/           {
 /*N*/               SwDoc* pDoc = pSh->GetDoc();
 /*N*/               SwPageNumberFieldType *pPageNr = (SwPageNumberFieldType *)
@@ -160,7 +160,7 @@ namespace binfilter {
 /*N*/       }
 /*N*/       case RES_GETEXPFLD:
 /*N*/       {
-/*N*/           if( !bName && pSh && !pSh->Imp()->IsUpdateExpFlds() )
+/*N*/           if( !bName && pSh )
 /*N*/           {
 /*N*/               SwGetExpField* pExpFld = (SwGetExpField*)pFld;
                         /*N*/               if( !::binfilter::lcl_IsInBody( pFrame ) )
@@ -182,26 +182,12 @@ namespace binfilter {
 /*N*/           {
 /*N*/               SwDBField* pDBFld = (SwDBField*)pFld;
 /*N*/               pDBFld->ChgBodyTxtFlag( ::binfilter::lcl_IsInBody( pFrame ) );
- /* Solange das ChangeExpansion auskommentiert ist.
-  * Aktualisieren in Kopf/Fuszeilen geht aktuell nicht.
-                 if( !::binfilter::lcl_IsInBody( pFrame ) )
-                 {
-                     pDBFld->ChgBodyTxtFlag( sal_False );
-                     pDBFld->ChangeExpansion( pFrame, (SwTxtFld*)pHint );
-                 }
-                 else if( !pDBFld->IsInBodyTxt() )
-                 {
-                     // war vorher anders, also erst expandieren, dann umsetzen!!
-                     pDBFld->ChangeExpansion( pFrame, (SwTxtFld*)pHint );
-                     pDBFld->ChgBodyTxtFlag( sal_True );
-                 }
- */
 /*N*/           }
 /*N*/           pRet = new SwFldPortion( pFld->GetCntnt( bName ) );
 /*N*/           break;
 /*N*/       }
 /*?*/       case RES_REFPAGEGETFLD:
-/*?*/           if( !bName && pSh && !pSh->Imp()->IsUpdateExpFlds() )
+/*?*/           if( !bName && pSh )
                         /*?*/               {DBG_BF_ASSERT(0, "STRIP");}
 /*?*/           pRet = new SwFldPortion( pFld->GetCntnt( bName ) );
 /*?*/           break;
diff --git a/binfilter/bf_sw/source/core/view/sw_viewimp.cxx b/binfilter/bf_sw/source/core/view/sw_viewimp.cxx
index 72a00c8..5b41ac1 100644
--- a/binfilter/bf_sw/source/core/view/sw_viewimp.cxx
+++ b/binfilter/bf_sw/source/core/view/sw_viewimp.cxx
@@ -49,50 +49,6 @@ namespace binfilter {
 
 /*N*/ SwViewImp::~SwViewImp() { }
 
-/*N*/ BOOL SwViewImp::AddPaintRect( const SwRect &rRect )
-/*N*/ {
-/*N*/   if ( rRect.IsOver( pSh->VisArea() ) )
-/*N*/   {
-/*?*/       if ( !pRegion )
-/*?*/           pRegion = new SwRegionRects( pSh->VisArea() );
-/*?*/       (*pRegion) -= rRect;
-/*?*/       return TRUE;
-/*N*/   }
-/*N*/   return FALSE;
-/*N*/ }
-
-
-/******************************************************************************
-|*
-|*  ViewImp::CheckWaitCrsr()
-|*
-******************************************************************************/
-
-/*N*/ void SwViewImp::CheckWaitCrsr()
-/*N*/ {
-/*N*/ }
-
-/******************************************************************************
-|*
-|*  ViewImp::IsCalcLayoutProgress()
-|*
-******************************************************************************/
-
-/*N*/ BOOL SwViewImp::IsCalcLayoutProgress() const
-/*N*/ {
-/*N*/   return FALSE;
-/*N*/ }
-
-/******************************************************************************
-|*
-|*  ViewImp::IsUpdateExpFlds()
-|*
-******************************************************************************/
-
-/*N*/ BOOL SwViewImp::IsUpdateExpFlds()
-/*N*/ {
-/*N*/   return FALSE;
-/*N*/ }
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sw/source/core/view/sw_viewsh.cxx b/binfilter/bf_sw/source/core/view/sw_viewsh.cxx
index 9ad19dc..cc539de 100644
--- a/binfilter/bf_sw/source/core/view/sw_viewsh.cxx
+++ b/binfilter/bf_sw/source/core/view/sw_viewsh.cxx
@@ -74,23 +74,19 @@ bool bInSizeNotify = FALSE;
 
 /*N*/ void ViewShell::InvalidateWindows( const SwRect &rRect )
 /*N*/ {
-/*N*/   if ( !Imp()->IsCalcLayoutProgress() )
-/*N*/   {
-/*N*/       ViewShell *pSh = this;
-/*N*/       do
-/*N*/       {
-/*N*/           if ( pSh->GetWin() )
-/*N*/           {
-/*N*/               if ( pSh->IsPreView() )
-/*N*/ //                    pSh->GetWin()->Invalidate();
-/*?*/                   DBG_BF_ASSERT(0, "STRIP");//::binfilter::RepaintPagePreview( pSh, rRect );
-/*N*/               else if ( pSh->VisArea().IsOver( rRect ) )
-/*N*/                   pSh->GetWin()->Invalidate( rRect.SVRect() );
-/*N*/           }
-/*N*/           pSh = (ViewShell*)pSh->GetNext();
+/*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*/   }
+/*N*/     } while ( pSh != this );
 /*N*/ }
 
 /******************************************************************************
diff --git a/binfilter/inc/bf_sw/swregion.hxx b/binfilter/inc/bf_sw/swregion.hxx
index 3e90d08..24bb0cb 100644
--- a/binfilter/inc/bf_sw/swregion.hxx
+++ b/binfilter/inc/bf_sw/swregion.hxx
@@ -37,25 +37,6 @@ namespace binfilter {
 
 SV_DECL_VARARR( SwRects, SwRect, 20, 8 )
 
-class SwRegionRects : public SwRects
-{
-    SwRect aOrigin; // die Kopie des StartRects
-
-    inline void InsertRect( const SwRect &rRect, const USHORT nPos, bool &rDel);
-
-public:
-    SwRegionRects( const SwRect& rStartRect, USHORT nInit = 20,
-                                             USHORT nGrow = 8 );
-    // Zum Ausstanzen aus aOrigin.
-    void operator-=( const SwRect& rRect );
-
-    // Aus Loechern werden Flaechen, aus Flaechen werden Loecher.
-    // Benachbarte Rechtecke zusammenfassen.
-
-    inline const SwRect &GetOrigin() const { return aOrigin; }
-    inline void ChangeOrigin( const SwRect &rRect ) { aOrigin = rRect; }
-};
-
 } //namespace binfilter
 #endif  //_SWREGION_HXX
 
diff --git a/binfilter/inc/bf_sw/viewsh.hxx b/binfilter/inc/bf_sw/viewsh.hxx
index c1733ae..4a982ef 100644
--- a/binfilter/inc/bf_sw/viewsh.hxx
+++ b/binfilter/inc/bf_sw/viewsh.hxx
@@ -63,7 +63,6 @@ class SwViewImp;
 class SwPrtOptions;
 class SwPagePreViewPrtData;
 struct ShellResource;
-class SwRegionRects;
 class SwFrm;
 struct SwPrintData;
 // OD 12.12.2002 #103492#
commit f6c97b2001273694889c6b28a73f746fcbab2310
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Sep 5 09:05:39 2011 +0100

    various unused methods

diff --git a/binfilter/bf_sfx2/source/bastyp/sfx2_progress.cxx b/binfilter/bf_sfx2/source/bastyp/sfx2_progress.cxx
index b159a4e..defb7e9 100644
--- a/binfilter/bf_sfx2/source/bastyp/sfx2_progress.cxx
+++ b/binfilter/bf_sfx2/source/bastyp/sfx2_progress.cxx
@@ -380,38 +380,6 @@ inline ULONG Get10ThSec()
 /*N*/   }
 /*N*/ }
 
-// -----------------------------------------------------------------------
-
-/*N*/ void SfxProgress::Reschedule()
-
-/*  [Beschreibung]
-
-    Reschedule von au"sen rufbar
-
-*/
-
-/*N*/ {
-/*N*/   SFX_STACK(SfxProgress::Reschedule);
-/*N*/
-/*N*/   if( pImp->pActiveProgress ) return;
-/*N*/     SfxApplication* pApp = SFX_APP();
-/*N*/     if ( pImp->bLocked && 0 == pApp->Get_Impl()->nRescheduleLocks )
-/*N*/   {
-/*N*/         SfxAppData_Impl *pAppData = pApp->Get_Impl();
-/*N*/       ++pAppData->nInReschedule;
-/*N*/       Application::Reschedule();
-/*N*/       --pAppData->nInReschedule;
-/*N*/   }
-/*N*/ }
-
-// -----------------------------------------------------------------------
-
-
-// -----------------------------------------------------------------------
-
-
-// -----------------------------------------------------------------------
-
 /*N*/ SfxProgress* SfxProgress::GetActiveProgress
 /*N*/ (
 /*N*/   SfxObjectShell* pDocSh    /*  <SfxObjectShell>, die nach einem laufenden
diff --git a/binfilter/bf_sw/source/core/inc/frame.hxx b/binfilter/bf_sw/source/core/inc/frame.hxx
index fa9b3b4..0f90644 100644
--- a/binfilter/bf_sw/source/core/inc/frame.hxx
+++ b/binfilter/bf_sw/source/core/inc/frame.hxx
@@ -607,9 +607,6 @@ public:
     const  SwRect &Frm() const { return aFrm; }
     const  SwRect &Prt() const { return aPrt; }
 
-    // The PaintArea is the area, where content may be displayed.
-    // The margin of the page or the space between columns belongs to her.
-    const SwRect PaintArea() const;
     // The UnionFrm is the union of frm- and prt-area, normally identical
     // to the frm-area except the case of negative prt-margins.
     const SwRect UnionFrm( BOOL bBorder = FALSE ) const;
diff --git a/binfilter/bf_sw/source/core/inc/frmtool.hxx b/binfilter/bf_sw/source/core/inc/frmtool.hxx
index 6176a9f..c8c71d3 100644
--- a/binfilter/bf_sw/source/core/inc/frmtool.hxx
+++ b/binfilter/bf_sw/source/core/inc/frmtool.hxx
@@ -133,9 +133,6 @@ SwFrm* GetFrmOfModify( SwModify&, USHORT nFrmType, const Point* = 0,
                         const SwPosition *pPos = 0,
                         const BOOL bCalcFrm = FALSE );
 
-//Sollen ExtraDaten (Reline-Strich, Zeilennummern) gepaintet werden?
-bool IsExtraData( const SwDoc *pDoc );
-
 // #i11760# - method declaration <CalcCntnt(..)>
 void CalcCntnt( SwLayoutFrm *pLay,
                 bool bNoColl = false,
diff --git a/binfilter/bf_sw/source/core/inc/txtfrm.hxx b/binfilter/bf_sw/source/core/inc/txtfrm.hxx
index b0aae88..4209da4 100644
--- a/binfilter/bf_sw/source/core/inc/txtfrm.hxx
+++ b/binfilter/bf_sw/source/core/inc/txtfrm.hxx
@@ -230,7 +230,6 @@ public:
     inline  sal_Bool GetKeyCrsrOfst(SwPosition *pPos, const Point &rPoint ) const
             { return _GetCrsrOfst( pPos, rPoint, sal_False ); }
 
-    SwRect Paint();
     virtual void Modify( SfxPoolItem*, SfxPoolItem* );
     virtual sal_Bool GetInfo( SfxPoolItem & ) const;
 
@@ -425,7 +424,6 @@ public:
     //Fuer die Anzeige der Zeilennummern.
     ULONG GetAllLines()  const { return nAllLines; }
     ULONG GetThisLines() const { return nThisLines;}
-    void RecalcAllLines();
 
     // Swaps width and height of the text frame
     void SwapWidthAndHeight();
diff --git a/binfilter/bf_sw/source/core/inc/viewimp.hxx b/binfilter/bf_sw/source/core/inc/viewimp.hxx
index 6b76581..42fd248 100644
--- a/binfilter/bf_sw/source/core/inc/viewimp.hxx
+++ b/binfilter/bf_sw/source/core/inc/viewimp.hxx
@@ -111,28 +111,6 @@ class SwViewImp
         @param _useless just to fit macro
     */
     DECL_LINK(SetStopPrt, void * _useless = NULL);
-
-    /**
-       Returns if printer shall be stopped.
-
-       @retval TRUE The printer shall be stopped.
-       @retval FALSE else
-    */
-    BOOL IsStopPrt() { return bStopPrt; }
-
-    /**
-       Resets signal for stopping printing.
-
-    */
-    void ResetStopPrt() { bStopPrt = FALSE; }
-
-    void ResetNextScroll()    { bNextScroll = FALSE; }
-    void SetNextScroll()      { bNextScroll = TRUE; }
-    void SetScroll()          { bScroll = TRUE; }
-    void ResetScrolled()      { bScrolled = FALSE; }
-    void SetScrolled()        { bScrolled = TRUE; }
-
-    SwScrollAreas *GetScrollRects() { return pScrollRects; }
 public:
     ~SwViewImp();
 
@@ -143,21 +121,11 @@ public:
 
     //SS'en fuer Paint- und Scrollrects.
     BOOL AddPaintRect( const SwRect &rRect );
-    void AddScrollRect( const SwFrm *pFrm, const SwRect &rRect, long nOffs );
-    SwRegionRects *GetRegion()      { return pRegion; }
-
-    void RestartScrollTimer()            { aScrollTimer.Start(); }
 
     //Wird vom Layout ggf. waehrend einer Action gerufen, wenn der
     //Verdacht besteht, dass es etwas drunter und drueber geht.
     void ResetScroll()        { bScroll = FALSE; }
 
-    BOOL IsNextScroll() const { return bNextScroll; }
-    BOOL IsScroll()     const { return bScroll; }
-    BOOL IsScrolled()   const { return bScrolled; }
-
-    BOOL IsPaintInScroll() const { return bPaintInScroll; }
-
     // neues Interface fuer StarView Drawing
     inline BOOL HasDrawView() const { return 0 != pDrawView; }
           SwDrawView* GetDrawView()       { return pDrawView; }
@@ -172,9 +140,6 @@ public:
     //TRUE wenn eine LayAction laeuft, dort wird dann auch das Flag fuer
     //ExpressionFields gesetzt.
     BOOL IsUpdateExpFlds();
-
-    void    SetRestoreActions(USHORT nSet){nRestoreActions = nSet;}
-    USHORT  GetRestoreActions() const{return nRestoreActions;}
 };
 } //namespace binfilter
 #endif //_VIEWIMP_HXX
diff --git a/binfilter/bf_sw/source/core/layout/sw_frmtool.cxx b/binfilter/bf_sw/source/core/layout/sw_frmtool.cxx
index ed7d98a..3eea01d 100644
--- a/binfilter/bf_sw/source/core/layout/sw_frmtool.cxx
+++ b/binfilter/bf_sw/source/core/layout/sw_frmtool.cxx
@@ -2835,15 +2835,6 @@ void SwBorderAttrs::_GetBottomLine( const SwFrm *pFrm )
 /*N*/   return pMinFrm;
 /*N*/ }
 
-/*N*/ bool IsExtraData( const SwDoc *pDoc )
-/*N*/ {
-/*N*/   const SwLineNumberInfo &rInf = pDoc->GetLineNumberInfo();
-/*N*/   return rInf.IsPaintLineNumbers() ||
-/*N*/          rInf.IsCountInFlys() ||
-/*N*/          ((SwHoriOrient)SW_MOD()->GetRedlineMarkPos() != HORI_NONE &&
-/*N*/           pDoc->GetRedlineTbl().Count());
-/*N*/ }
-
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sw/source/core/layout/sw_ssfrm.cxx b/binfilter/bf_sw/source/core/layout/sw_ssfrm.cxx
index bc6d768..0d0b69b 100644
--- a/binfilter/bf_sw/source/core/layout/sw_ssfrm.cxx
+++ b/binfilter/bf_sw/source/core/layout/sw_ssfrm.cxx
@@ -430,90 +430,6 @@ namespace binfilter {
 
 /*************************************************************************
 |*
-|*  SwFrm::PaintArea()
-|*
-|*  The paintarea is the area, in which the content of a frame is allowed
-|*  to be displayed. This region could be larger than the printarea (Prt())
-|*  of the upper, it includes e.g. often the margin of the page.
-|*
-|*************************************************************************/
-
-/*N*/ const SwRect SwFrm::PaintArea() const
-/*N*/ {
-/*N*/   SwRect aRect( Frm() );
-/*N*/     const bool bVert = IsVertical();
-/*N*/     SwRectFn fnRect = bVert ? fnRectVert : fnRectHori;
-/*N*/     long nRight = (aRect.*fnRect->fnGetRight)();
-/*N*/     long nLeft  = (aRect.*fnRect->fnGetLeft)();
-/*N*/   const SwFrm* pTmp = this;
-/*N*/   BOOL bLeft = TRUE;
-/*N*/   BOOL bRight = TRUE;
-/*N*/   while( pTmp )
-/*N*/   {
-/*N*/         long nTmpRight = (pTmp->Frm().*fnRect->fnGetRight)();
-/*N*/         long nTmpLeft = (pTmp->Frm().*fnRect->fnGetLeft)();
-/*N*/       OSL_ENSURE( pTmp, "PaintArea lost in time and space" );
-/*N*/       if( pTmp->IsPageFrm() || pTmp->IsFlyFrm() ||
-/*N*/           pTmp->IsCellFrm() || pTmp->IsRowFrm() || //nobody leaves a table!
-/*N*/           pTmp->IsRootFrm() )
-/*N*/       {
-/*N*/             if( bLeft || nLeft < nTmpLeft )
-/*N*/                 nLeft = nTmpLeft;
-/*N*/             if( bRight || nTmpRight < nRight )
-/*N*/               nRight = nTmpRight;
-/*N*/           if( pTmp->IsPageFrm() || pTmp->IsFlyFrm() || pTmp->IsRootFrm() )
-/*N*/               break;
-/*N*/           bLeft = FALSE;
-/*N*/           bRight = FALSE;
-/*N*/       }
-/*N*/       else if( pTmp->IsColumnFrm() )  // nobody enters neightbour columns
-/*N*/       {
-/*N*/             BOOL bR2L = pTmp->IsRightToLeft();
-/*N*/             // the first column has _no_ influence to the left range
-/*N*/             if( bR2L ? pTmp->GetNext() : pTmp->GetPrev() )
-/*N*/             {
-/*N*/                 if( bLeft || nLeft < nTmpLeft )
-/*N*/                     nLeft = nTmpLeft;
-/*N*/               bLeft = FALSE;
-/*N*/           }
-/*N*/              // the last column has _no_ influence to the right range
-/*N*/             if( bR2L ? pTmp->GetPrev() : pTmp->GetNext() )
-/*N*/             {
-/*N*/               if( bRight || nTmpRight < nRight )
-/*N*/                     nRight = nTmpRight;
-/*N*/               bRight = FALSE;
-/*N*/           }
-/*N*/       }
-/*N*/         else if( bVert && pTmp->IsBodyFrm() )
-/*N*/         {
-/*?*/             // Header and footer frames have always horizontal direction and
-/*?*/             // limit the body frame.
-/*?*/             // A previous frame of a body frame must be a header,
-/*?*/             // the next frame of a body frame may be a footnotecontainer or
-/*?*/             // a footer. The footnotecontainer has the same direction like
-/*?*/             // the body frame.
-/*?*/             if( pTmp->GetPrev() && ( bLeft || nLeft < nTmpLeft ) )
-/*?*/             {
-/*?*/                 nLeft = nTmpLeft;
-/*?*/                 bLeft = FALSE;
-/*?*/             }
-/*?*/             if( pTmp->GetNext() &&
-/*?*/                 ( pTmp->GetNext()->IsFooterFrm() || pTmp->GetNext()->GetNext() )
-/*?*/                 && ( bRight || nTmpRight < nRight ) )
-/*?*/             {
-/*?*/                 nRight = nTmpRight;
-/*?*/                 bRight = FALSE;
-/*?*/           }
-/*N*/         }
-/*N*/       pTmp = pTmp->GetUpper();
-/*N*/   }
-/*N*/     (aRect.*fnRect->fnSetLeft)( nLeft );
-/*N*/     (aRect.*fnRect->fnSetRight)( nRight );
-/*N*/   return aRect;
-/*N*/ }
-
-/*************************************************************************
-|*
 |*  SwFrm::UnionFrm()
 |*
 |*  The unionframe is the framearea (Frm()) of a frame expanded by the
diff --git a/binfilter/bf_sw/source/core/text/makefile.mk b/binfilter/bf_sw/source/core/text/makefile.mk
index 4b41194..d91f1fd 100644
--- a/binfilter/bf_sw/source/core/text/makefile.mk
+++ b/binfilter/bf_sw/source/core/text/makefile.mk
@@ -57,7 +57,6 @@ SLOFILES =  \
         $(SLO)$/sw_atrstck.obj \
         $(SLO)$/sw_frmcrsr.obj \
         $(SLO)$/sw_frmform.obj \
-        $(SLO)$/sw_frmpaint.obj \
         $(SLO)$/sw_guess.obj \
         $(SLO)$/sw_inftxt.obj \
         $(SLO)$/sw_itradj.obj \
diff --git a/binfilter/bf_sw/source/core/text/sw_frmpaint.cxx b/binfilter/bf_sw/source/core/text/sw_frmpaint.cxx
deleted file mode 100644
index 41fdb07..0000000
--- a/binfilter/bf_sw/source/core/text/sw_frmpaint.cxx
+++ /dev/null
@@ -1,118 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-#include <hintids.hxx>
-
-
-
-#include <pagedesc.hxx> // SwPageDesc
-
-#include <itrpaint.hxx>     // SwTxtPainter
-
-#include <horiornt.hxx>
-
-namespace binfilter {
-
-
-// steht im number.cxx
-extern const sal_Char sBulletFntName[];
-
-extern bool bOneBeepOnly;
-
-sal_Bool bInitFont = sal_True;
-
-#define REDLINE_DISTANCE 567/4
-#define REDLINE_MINDIST  567/10
-
-
-/*************************************************************************
- * SwExtraPainter::PaintExtra()
- **************************************************************************/
-
-
-
-
-/*************************************************************************
- *                      SwTxtFrm::Paint()
- *************************************************************************/
-
-/*N*/ SwRect SwTxtFrm::Paint()
-/*N*/ {
-/*N*/ #if OSL_DEBUG_LEVEL > 1
-/*N*/   const SwTwips nDbgY = Frm().Top();
-/*N*/ #endif
-/*N*/
-/*N*/   // finger layout
-/*N*/   OSL_ENSURE( GetValidPosFlag(), "+SwTxtFrm::Paint: no Calc()" );
-/*N*/
-/*N*/   SwRect aRet( Prt() );
-/*N*/   if ( IsEmpty() || !HasPara() )
-/*N*/       aRet += Frm().Pos();
-/*N*/   else
-/*N*/   {
-/*N*/       // AMA: Wir liefern jetzt mal das richtige Repaintrechteck zurueck,
-/*N*/       //      d.h. als linken Rand den berechneten PaintOfst!
-/*N*/       SwRepaint *pRepaint = GetPara()->GetRepaint();
-/*N*/       long l;
-/*N*/       if( pRepaint->GetOfst() )
-/*N*/           pRepaint->Left( pRepaint->GetOfst() );
-/*N*/
-/*N*/       l = pRepaint->GetRightOfst();
-/*N*/       if( l && ( pRepaint->GetOfst() || l > pRepaint->Right() ) )
-/*N*/            pRepaint->Right( l );
-/*N*/       pRepaint->SetOfst( 0 );
-/*N*/       aRet = *pRepaint;
-/*N*/
-/*N*/ #ifdef BIDI
-/*N*/         if ( IsRightToLeft() )
-                {DBG_BF_ASSERT(0, "STRIP");}
-/*N*/ #endif
-/*N*/   }
-/*N*/   ResetRepaint();
-/*N*/
-/*N*/     return aRet;
-/*N*/ }
-
-/*************************************************************************
- *                      SwTxtFrm::Paint()
- *************************************************************************/
-
-
-/*************************************************************************
- *                      SwTxtFrm::Paint()
- *************************************************************************/
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sw/source/core/text/sw_txtfrm.cxx b/binfilter/bf_sw/source/core/text/sw_txtfrm.cxx
index 32e867e..098e6af 100644
--- a/binfilter/bf_sw/source/core/text/sw_txtfrm.cxx
+++ b/binfilter/bf_sw/source/core/text/sw_txtfrm.cxx
@@ -1891,58 +1891,6 @@ public:
 /*N*/   }
 /*N*/ }
 
-
-/*N*/ void SwTxtFrm::RecalcAllLines()
-/*N*/ {
-/*N*/   ValidateLineNum();
-/*N*/
-/*N*/   const SwAttrSet *pAttrSet = GetAttrSet();
-/*N*/
-/*N*/   if ( !IsInTab() )
-/*N*/   {
-/*N*/       const ULONG nOld = GetAllLines();
-/*N*/       const SwFmtLineNumber &rLineNum = pAttrSet->GetLineNumber();
-/*N*/       ULONG nNewNum;
-/*N*/
-/*N*/       if ( !IsFollow() && rLineNum.GetStartValue() && rLineNum.IsCount() )
-/*?*/           nNewNum = rLineNum.GetStartValue() - 1;
-/*N*/       //If it is a follow or not has not be considered if it is a restart at each page; the
-/*N*/       //restart should also take affekt at follows.
-/*N*/       else if ( pAttrSet->GetDoc()->GetLineNumberInfo().IsRestartEachPage() &&
-/*N*/                 FindPageFrm()->FindFirstBodyCntnt() == this )
-/*N*/       {
-/*N*/           nNewNum = 0;
-/*N*/       }
-/*N*/       else
-/*N*/       {
-/*N*/           SwCntntFrm *pPrv = GetPrevCntntFrm();
-/*N*/           while ( pPrv &&
-/*N*/                   (pPrv->IsInTab() || pPrv->IsInDocBody() != IsInDocBody()) )
-/*N*/               pPrv = pPrv->GetPrevCntntFrm();
-/*N*/
-/*N*/           nNewNum = pPrv ? ((SwTxtFrm*)pPrv)->GetAllLines() : 0;
-/*N*/       }
-/*N*/       if ( rLineNum.IsCount() )
-/*N*/           nNewNum += GetThisLines();
-/*N*/
-/*N*/       if ( nOld != nNewNum )
-/*N*/       {
-/*N*/           nAllLines = nNewNum;
-/*N*/           SwCntntFrm *pNxt = GetNextCntntFrm();
-/*N*/           while ( pNxt &&
-/*N*/                   (pNxt->IsInTab() || pNxt->IsInDocBody() != IsInDocBody()) )
-/*N*/               pNxt = pNxt->GetNextCntntFrm();
-/*N*/           if ( pNxt )
-/*N*/           {
-/*N*/               if ( pNxt->GetUpper() != GetUpper() )
-/*N*/                   pNxt->InvalidateLineNum();
-/*N*/               else
-/*N*/                   pNxt->_InvalidateLineNum();
-/*N*/           }
-/*N*/       }
-/*N*/   }
-/*N*/ }
-
 /*************************************************************************
  *                      lcl_CalcFlyBasePos()
  * Helper function for SwTxtFrm::CalcBasePosForFly()
diff --git a/binfilter/bf_sw/source/core/view/makefile.mk b/binfilter/bf_sw/source/core/view/makefile.mk
index c9ba20b..09c12b5 100644
--- a/binfilter/bf_sw/source/core/view/makefile.mk
+++ b/binfilter/bf_sw/source/core/view/makefile.mk
@@ -47,7 +47,6 @@ LIBFLAGS=/NOI /NOE /PAGE:128
 # --- Files --------------------------------------------------------
 
 CXXFILES = \
-    sw_scrrect.cxx \
     sw_viewimp.cxx \
     sw_viewsh.cxx \
         sw_vnew.cxx \
@@ -56,7 +55,6 @@ CXXFILES = \
 
 
 SLOFILES =  \
-    $(SLO)$/sw_scrrect.obj \
     $(SLO)$/sw_viewimp.obj \
     $(SLO)$/sw_viewsh.obj \
         $(SLO)$/sw_vnew.obj \
diff --git a/binfilter/bf_sw/source/core/view/sw_scrrect.cxx b/binfilter/bf_sw/source/core/view/sw_scrrect.cxx
deleted file mode 100644
index b871922..0000000
--- a/binfilter/bf_sw/source/core/view/sw_scrrect.cxx
+++ /dev/null
@@ -1,106 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-#include <viewimp.hxx>
-
-#include <horiornt.hxx>
-
-#include "crsrsh.hxx"
-#include "pagefrm.hxx"
-// OD 12.11.2002 #96272# - include declaration for <SetMappingForVirtDev>
-namespace binfilter {
-
-
-/*****************************************************************************
-|*
-|*  ViewShell::AddScrollRect()
-|*
-|*  Description
-|*  ViewShell::AddScrollRect(..) passes a registration from a scrolling frame or
-|*  rectangle to all ViewShells and SwViewImps respectively.
-|*
-******************************************************************************/
-
-/*N*/ void ViewShell::AddScrollRect( const SwFrm *pFrm, const SwRect &rRect,
-/*N*/   long nOfs )
-/*N*/ {
-/*N*/   OSL_ENSURE( pFrm, "Where is my friend, the frame?" );
-/*N*/   BOOL bScrollOn = TRUE;
-/*N*/
-/*N*/ #ifdef NOSCROLL
-/*N*/   //Auch im Product per speziellem Compilat abschaltbar.
-/*N*/   bScrollOn = FALSE;
-/*N*/ #endif
-/*N*/
-/*N*/   if( bScrollOn && Imp()->IsScroll() && nOfs <= SHRT_MAX && nOfs >= SHRT_MIN )
-/*N*/   {
-/*N*/       ViewShell *pSh = this;
-/*N*/       do
-/*N*/       {
-/*N*/           pSh->Imp()->AddScrollRect( pFrm, rRect, nOfs );
-/*N*/           pSh = (ViewShell*)pSh->GetNext();
-/*N*/       } while ( pSh != this );
-/*N*/   }
-/*N*/   else
-/*N*/       AddPaintRect( rRect );
-/*N*/ }
-
-/******************************************************************************
-|*
-|*  SwViewImp::AddScrollRect()
-|*
-|*  Adds a scrollable rectangle and his critical lines to the list.
-|*
-******************************************************************************/
-
-/*N*/ void SwViewImp::AddScrollRect( const SwFrm *pFrm, const SwRect &rRect,
-/*N*/   long nOffs )
-/*N*/ {
-/*N*/   OSL_ENSURE( nOffs != 0, "Scrollen ohne Ofst." );
-/*N*/   SwRect aRect( rRect );
-/*N*/     BOOL bVert = pFrm->IsVertical();
-/*N*/     if( bVert )
-/*?*/         aRect.Pos().X() += nOffs;
-/*N*/     else
-/*N*/   aRect.Pos().Y() -= nOffs;
-/*N*/   if( aRect.IsOver( pSh->VisArea() ) )
-/*N*/   {
-            DBG_BF_ASSERT(0, "STRIP");
-/*N*/   }
-/*N*/   else
-/*N*/       AddPaintRect( rRect );
-/*N*/ }
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sw/source/core/view/sw_viewsh.cxx b/binfilter/bf_sw/source/core/view/sw_viewsh.cxx
index 09cc632..9ad19dc 100644
--- a/binfilter/bf_sw/source/core/view/sw_viewsh.cxx
+++ b/binfilter/bf_sw/source/core/view/sw_viewsh.cxx
@@ -68,29 +68,6 @@ bool bInSizeNotify = FALSE;
 
 /******************************************************************************
 |*
-|*  ViewShell::AddPaintRect()
-|*
-******************************************************************************/
-
-/*N*/ BOOL ViewShell::AddPaintRect( const SwRect & rRect )
-/*N*/ {
-/*N*/   BOOL bRet = FALSE;
-/*N*/   ViewShell *pSh = this;
-/*N*/   do
-/*N*/   {
-/*N*/       if ( pSh->IsPreView() && pSh->GetWin() )
-/*N*/ //            pSh->GetWin()->Invalidate();
-/*?*/           DBG_BF_ASSERT(0, "STRIP");//::binfilter::RepaintPagePreview( pSh, rRect );
-/*N*/       else
-/*N*/           bRet |= pSh->Imp()->AddPaintRect( rRect );
-/*N*/       pSh = (ViewShell*)pSh->GetNext();
-/*N*/
-/*N*/   } while ( pSh != this );
-/*N*/   return bRet;
-/*N*/ }
-
-/******************************************************************************
-|*
 |*  ViewShell::InvalidateWindows()
 |*
 ******************************************************************************/
diff --git a/binfilter/bf_sw/source/ui/app/sw_mainwn.cxx b/binfilter/bf_sw/source/ui/app/sw_mainwn.cxx
index 055a6fa..92fbf08 100644
--- a/binfilter/bf_sw/source/ui/app/sw_mainwn.cxx
+++ b/binfilter/bf_sw/source/ui/app/sw_mainwn.cxx
@@ -133,19 +133,6 @@ static SvPtrarr *pProgressContainer = 0;
 /*N*/   }
 /*N*/ }
 
-
-
-
-/*N*/ void RescheduleProgress( SwDocShell *pDocShell )
-/*N*/ {
-/*N*/   if( pProgressContainer && !SW_MOD()->IsEmbeddedLoadSave() )
-/*N*/   {
-/*N*/       SwProgress *pProgress = lcl_SwFindProgress( pDocShell );
-/*N*/       if ( pProgress )
-/*N*/           pProgress->pProgress->Reschedule();
-/*N*/   }
-/*N*/ }
-
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sw/source/ui/app/sw_swmodul1.cxx b/binfilter/bf_sw/source/ui/app/sw_swmodul1.cxx
index 9c7a148..8612043 100644
--- a/binfilter/bf_sw/source/ui/app/sw_swmodul1.cxx
+++ b/binfilter/bf_sw/source/ui/app/sw_swmodul1.cxx
@@ -155,14 +155,6 @@ DBG_BF_ASSERT(0, "STRIP"); return 0;
     Beschreibung:
  --------------------------------------------------------------------*/
 
-/*N*/ sal_uInt16 SwModule::GetRedlineMarkPos()
-/*N*/ {
-/*N*/   return pModuleConfig->GetMarkAlignMode();
-/*N*/ }
-
-
-
-
 /*N*/ const SwViewOption*   SwModule::GetViewOption(sal_Bool bWeb)
 /*N*/ {
 /*N*/   return GetUsrPref( bWeb );
diff --git a/binfilter/inc/bf_sfx2/progress.hxx b/binfilter/inc/bf_sfx2/progress.hxx
index 0ae8055..0ddd292 100644
--- a/binfilter/inc/bf_sfx2/progress.hxx
+++ b/binfilter/inc/bf_sfx2/progress.hxx
@@ -65,8 +65,6 @@ public:
     void                    Suspend();
     BOOL                    IsSuspended() const { return bSuspended; }
 
-    void                    Reschedule();
-
     void                    Stop();
 
 
diff --git a/binfilter/inc/bf_sw/mdiexp.hxx b/binfilter/inc/bf_sw/mdiexp.hxx
index 55795c1..ab23c4b 100644
--- a/binfilter/inc/bf_sw/mdiexp.hxx
+++ b/binfilter/inc/bf_sw/mdiexp.hxx
@@ -60,7 +60,6 @@ extern void FrameNotify( ViewShell* pVwSh, FlyMode eMode = FLY_DRAG );
 void StartProgress     ( USHORT nMessId, long nStartVal, long nEndVal, SwDocShell *pDocSh = 0 );
 void EndProgress       ( SwDocShell *pDocSh = 0 );
 void SetProgressState  ( long nPosition, SwDocShell *pDocShell );
-void RescheduleProgress( SwDocShell *pDocShell );
 
 void EnableCmdInterface(BOOL bEnable = TRUE);
 
diff --git a/binfilter/inc/bf_sw/swmodule.hxx b/binfilter/inc/bf_sw/swmodule.hxx
index 9660510..6de9b33 100644
--- a/binfilter/inc/bf_sw/swmodule.hxx
+++ b/binfilter/inc/bf_sw/swmodule.hxx
@@ -155,8 +155,6 @@ public:
      const String&      GetRedlineAuthor(sal_uInt16 nPos);
 /*N*/   sal_uInt16          InsertRedlineAuthor(const String& rAuthor); //SW50.SDW
 
-    sal_uInt16              GetRedlineMarkPos();
-
     // returne den definierten DocStat - WordDelimiter
     const String&       GetDocStatWordDelim() const;
 
diff --git a/binfilter/inc/bf_sw/viewsh.hxx b/binfilter/inc/bf_sw/viewsh.hxx
index 1ef7185..c1733ae 100644
--- a/binfilter/inc/bf_sw/viewsh.hxx
+++ b/binfilter/inc/bf_sw/viewsh.hxx
@@ -158,11 +158,6 @@ public:
 
     inline sal_Bool HasInvalidRect() const { return aInvalidRect.HasArea(); }
 
-    //Methoden fuer Paint- und Scrollrects, die auf allen Shells im
-    //Ring arbeiten.
-    sal_Bool AddPaintRect( const SwRect &rRect );
-    void AddScrollRect( const SwFrm *pFrm, const SwRect &rRect, long nOffs );
-
     void InvalidateWindows( const SwRect &rRect );
     sal_Bool IsPaintInProgress() const { return bPaintInProgress; }
 
commit 3ac19d87086581a7d090f47d5ce4af3b56fbeef7
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Sep 2 22:51:39 2011 +0100

    SwLayAction is not ctored, follow consequences of that

diff --git a/binfilter/bf_sw/source/core/inc/layact.hxx b/binfilter/bf_sw/source/core/inc/layact.hxx
deleted file mode 100644
index ccb3115..0000000
--- a/binfilter/bf_sw/source/core/inc/layact.hxx
+++ /dev/null
@@ -1,186 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef _LAYACT_HXX
-#define _LAYACT_HXX
-
-#include <bf_svtools/bf_solar.h>
-
-#include "swtypes.hxx"
-#include "swrect.hxx"
-namespace binfilter {
-
-class SwRootFrm;
-class SwLayoutFrm;
-class SwPageFrm;
-class SwFlyFrm;
-class SwFlyInCntFrm;
-class SwCntntFrm;
-class SwTabFrm;
-class SwViewImp;
-class SwCntntNode;
-class SwWait;
-
-class SwLayAction
-{
-    SwRootFrm  *pRoot;
-    SwViewImp  *pImp;   //Hier Meldet sich die Action an und ab.
-
-    //Zur Optimierung, damit die Tabellen etwas besser am Crsr kleben beim
-    //Return/Backspace davor.
-    //Wenn der erste TabFrm, der sich Paintet (pro Seite) traegt sich im
-    //Pointer ein. Die CntntFrms unterhalb der Seite brauchen sich
-    //dann nicht mehr bei der Shell zum Painten anmelden.
-    const SwTabFrm *pOptTab;
-
-    SwWait *pWait;
-
-    SfxProgress * pProgress;
-
-    //Wenn ein Absatz - oder was auch immer - bei der Formatierung mehr
-    //als eine Seite rueckwaerts floss traegt er seine neue Seitennummer
-    //hier ein. Die Steuerung der InternalAction kann dann geeignet reagieren.
-    USHORT nPreInvaPage;
-
-    ULONG nStartTicks;  //Startzeitpunkt der Aktion, vergeht zu viel Zeit kann
-                        //der WaitCrsr per CheckWaitCrsr() eingeschaltet werden.
-
-    USHORT nInputType;  //Bei welchem Input soll die Verarbeitung abgebrochen
-                        //werden?
-    USHORT nEndPage;    //StatBar Steuerung.
-    USHORT nCheckPageNum; //CheckPageDesc() wurde verzoegert wenn != USHRT_MAX
-                          //ab dieser Seite Checken.
-
-    BOOL bPaint;        //Painten oder nur Formatieren?
-    BOOL bComplete;     //Alles bis zum sichtbaren Bereich Formatieren oder
-                        //oder nur den sichtbaren Bereich?
-    BOOL bCalcLayout;   //Vollstaendige Reformatierung?
-    BOOL bAgain;        //Zur automatisch wiederholten Action wenn Seiten
-                        //geloscht werden.
-    BOOL bNextCycle;    //Wiederaufsetzen bei der ersten Ungueltigen Seite.
-    BOOL bInput;        //Zum Abbrechen der Verarbeitung wenn ein Input anliegt.
-    BOOL bIdle;         //True wenn die Layaction vom Idler ausgeloest wurde.
-    BOOL bReschedule;   //Soll das Reschedule - abhaengig vom Progress -
-                        //gerufen werden?
-    BOOL bCheckPages;   //CheckPageDescs() ausfuehren oder verzoegern.
-    BOOL bUpdateExpFlds;//Wird gesetzt wenn nach dem Formatierien noch eine
-                        //Runde fuer den ExpFld laufen muss.
-    BOOL bBrowseActionStop; //Action fruehzeitig beenden (per bInput) und den
-                            //Rest dem Idler ueberlassen.
-    BOOL bWaitAllowed;      //Wartecursor erlaubt?
-    BOOL bPaintExtraData;   //Anzeige von Zeilennumerierung o. ae. eingeschaltet?
-    BOOL bActionInProgress; // wird in Action() anfangs gesetzt und zum Schluss geloescht
-
-    // new flag for content formatting on interrupt.
-    sal_Bool    mbFormatCntntOnInterrupt;
-#ifdef _LAYACT_CXX
-
-    void PaintCntnt( const SwCntntFrm *, const SwPageFrm *,
-                     const SwRect &rOldRect, long nOldBottom );
-    BOOL PaintWithoutFlys( const SwRect &, const SwCntntFrm *,
-                           const SwPageFrm * );
-    inline BOOL _PaintCntnt( const SwCntntFrm *, const SwPageFrm *,
-                             const SwRect & );
-
-    void ChkFlyAnchor( SwFlyFrm *, const SwPageFrm * );
-
-    BOOL _FormatFlyCntnt( const SwFlyFrm * );
-    BOOL __FormatFlyCntnt( const SwCntntFrm * );
-    void FormatFlyInCnt( SwFlyInCntFrm* );
-    BOOL FormatLayout( SwLayoutFrm *, BOOL bAddRect = TRUE );
-    BOOL FormatLayoutTab( SwTabFrm *, BOOL bAddRect = TRUE );
-    BOOL FormatLayoutFly( SwFlyFrm *, BOOL bAddRect = TRUE );
-
-    inline void CheckIdleEnd();
-    inline ULONG GetStartTicks() { return nStartTicks; }
-
-#endif
-
-public:
-    SwLayAction( SwRootFrm *pRt, SwViewImp *pImp );
-    ~SwLayAction();
-
-#ifdef _LAYACT_CXX
-    void SetIdle            ( BOOL bNew )   { bIdle = bNew; }
-    void SetCheckPages      ( BOOL bNew )   { bCheckPages = bNew; }
-    void SetBrowseActionStop(BOOL bNew  )   { bBrowseActionStop = bNew; }
-    void SetNextCycle       ( BOOL bNew )   { bNextCycle = bNew; }
-
-    BOOL IsWaitAllowed()        const       { return bWaitAllowed; }
-    BOOL IsNextCycle()          const       { return bNextCycle; }
-    BOOL IsInput()              const       { return bInput; }
-    BOOL IsWait()               const       { return 0 != pWait;  }
-    BOOL IsPaint()              const       { return bPaint; }
-    BOOL IsIdle()               const       { return bIdle;  }
-    BOOL IsReschedule()         const       { return bReschedule;  }
-    BOOL IsPaintExtraData()     const       { return bPaintExtraData;}
-    BOOL IsStopPrt()          const;
-    BOOL IsInterrupt()        const { return IsInput() || IsStopPrt(); }
-
-    USHORT GetInputType()    const { return nInputType; }
-#endif
-
-    //Einstellen der Action auf das gewuenschte Verhalten.
-    void SetPaint       ( BOOL bNew )   { bPaint = bNew; }
-    void SetComplete    ( BOOL bNew )   { bComplete = bNew; }
-    void SetInputType   ( USHORT nNew ) { nInputType = nNew; }
-    void SetCalcLayout  ( BOOL bNew )   { bCalcLayout = bNew; }
-    void SetReschedule  ( BOOL bNew )   { bReschedule = bNew; }
-    void SetWaitAllowed ( BOOL bNew )   { bWaitAllowed = bNew; }
-
-    void SetAgain()         { bAgain = TRUE; }
-    void SetUpdateExpFlds() {bUpdateExpFlds = TRUE; }
-    void SetProgress(SfxProgress * _pProgress = NULL)
-    { pProgress = _pProgress; }
-
-    inline void SetCheckPageNum( USHORT nNew );
-    inline void SetCheckPageNumDirect( USHORT nNew ) { nCheckPageNum = nNew; }
-
-    BOOL IsAgain()      const { return bAgain; }
-    BOOL IsComplete()   const { return bComplete; }
-    BOOL IsExpFlds()    const { return bUpdateExpFlds; }
-    BOOL IsCalcLayout() const { return bCalcLayout;  }
-    BOOL IsCheckPages() const { return bCheckPages;  }
-    BOOL IsBrowseActionStop() const { return bBrowseActionStop; }
-    BOOL IsActionInProgress() const { return bActionInProgress; }
-
-    USHORT GetCheckPageNum() const { return nCheckPageNum; }
-
-    //Auch andere sollen den Wartecrsr einschalten koennen.
-    void CheckWaitCrsr();
-};
-
-inline void SwLayAction::SetCheckPageNum( USHORT nNew )
-{
-    if ( nNew < nCheckPageNum )
-        nCheckPageNum = nNew;
-}
-
-} //namespace binfilter
-#endif  //_LAYACT_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sw/source/core/inc/viewimp.hxx b/binfilter/bf_sw/source/core/inc/viewimp.hxx
index d98b540..6b76581 100644
--- a/binfilter/bf_sw/source/core/inc/viewimp.hxx
+++ b/binfilter/bf_sw/source/core/inc/viewimp.hxx
@@ -49,7 +49,6 @@ class SwRegionRects;
 class SwScrollAreas;
 class SwScrollColumn;
 class SwFrm;
-class SwLayAction;
 class SwDrawView;
 class SdrPageView;
 class SwPageFrm;
@@ -71,8 +70,6 @@ class SwViewImp
 {
     friend class ViewShell;
 
-    friend class SwLayAction;   //Lay- und IdleAction tragen sich ein und aus.
-
     // for paint of page preview
     friend class SwPagePreviewLayout;
 
@@ -88,14 +85,6 @@ class SwViewImp
     SwScrollAreas *pScrollRects; //Sammler fuer Scrollrects aus der LayAction.
     SwScrollAreas *pScrolledArea;//Sammler der gescrollten Rechtecke.
 
-    SwLayAction   *pLayAct;      //Ist gesetzt wenn ein Action-Objekt existiert
-                                 //Wird vom SwLayAction-CTor ein- und vom DTor
-                                 //ausgetragen.
-
-#ifdef ACCESSIBLE_LAYOUT
-#endif
-
-
     AutoTimer     aScrollTimer;  //Fuer das Aufraeumen nach dem Scrollen.
 
     BOOL bFirstPageInvalid  :1; //Pointer auf erste Seite ungueltig?
@@ -176,11 +165,6 @@ public:
           SdrPageView*GetPageView()       { return pSdrPageView; }
     const SdrPageView*GetPageView() const { return pSdrPageView; }
 
-    //SS Fuer die Lay- bzw. IdleAction und verwandtes
-    BOOL  IsAction() const                   { return pLayAct  != 0; }
-          SwLayAction &GetLayAction()        { return *pLayAct; }
-    const SwLayAction &GetLayAction() const  { return *pLayAct; }
-
     //Wenn eine Aktion laueft wird diese gebeten zu pruefen ob es
     //an der zeit ist den WaitCrsr einzuschalten.
     void CheckWaitCrsr();
diff --git a/binfilter/bf_sw/source/core/layout/makefile.mk b/binfilter/bf_sw/source/core/layout/makefile.mk
index 101ce62..4bd5121 100644
--- a/binfilter/bf_sw/source/core/layout/makefile.mk
+++ b/binfilter/bf_sw/source/core/layout/makefile.mk
@@ -73,7 +73,6 @@ CXXFILES = \
         sw_frmtool.cxx \
         sw_ftnfrm.cxx \
         sw_hffrm.cxx \
-        sw_layact.cxx \
                 sw_laycache.cxx \
         sw_newfrm.cxx \
         sw_pagechg.cxx \
@@ -101,7 +100,6 @@ SLOFILES =  \
         $(SLO)$/sw_frmtool.obj \
         $(SLO)$/sw_ftnfrm.obj \
         $(SLO)$/sw_hffrm.obj \
-        $(SLO)$/sw_layact.obj \
                 $(SLO)$/sw_laycache.obj \
         $(SLO)$/sw_newfrm.obj \
         $(SLO)$/sw_pagechg.obj \
diff --git a/binfilter/bf_sw/source/core/layout/sw_flowfrm.cxx b/binfilter/bf_sw/source/core/layout/sw_flowfrm.cxx
index c40c7e3..de7da08 100644
--- a/binfilter/bf_sw/source/core/layout/sw_flowfrm.cxx
+++ b/binfilter/bf_sw/source/core/layout/sw_flowfrm.cxx
@@ -63,7 +63,6 @@
 #include "txtfrm.hxx"
 #include "tabfrm.hxx"
 #include "pagedesc.hxx"
-#include "layact.hxx"
 #include "frmsh.hxx"
 #include "fmtornt.hxx"
 #include "flyfrms.hxx"
@@ -515,21 +514,16 @@ namespace binfilter {
 /*N*/
 /*N*/   //Sparsamer benachrichtigen wenn eine Action laeuft.
 /*N*/   ViewShell *pSh = rThis.GetShell();
-/*N*/   const SwViewImp *pImp = pSh ? pSh->Imp() : 0;
-/*N*/   const BOOL bComplete = pImp && pImp->IsAction() && pImp->GetLayAction().IsComplete();
 /*N*/
-/*N*/   if ( !bComplete )
+/*N*/   SwFrm *pPre = rThis.GetIndPrev();
+/*N*/   if ( pPre )
 /*N*/   {
-/*N*/       SwFrm *pPre = rThis.GetIndPrev();
-/*N*/       if ( pPre )
-/*N*/       {
-/*N*/           pPre->SetRetouche();
-/*N*/           pPre->InvalidatePage();
-/*N*/       }
-/*N*/       else
-/*N*/       {   rThis.GetUpper()->SetCompletePaint();
-/*N*/           rThis.GetUpper()->InvalidatePage();
-/*N*/       }
+/*N*/       pPre->SetRetouche();
+/*N*/       pPre->InvalidatePage();
+/*N*/   }
+/*N*/   else
+/*N*/   {   rThis.GetUpper()->SetCompletePaint();
+/*N*/       rThis.GetUpper()->InvalidatePage();
 /*N*/   }
 /*N*/
 /*N*/   SwPageFrm *pOldPage = rThis.FindPageFrm();
diff --git a/binfilter/bf_sw/source/core/layout/sw_frmtool.cxx b/binfilter/bf_sw/source/core/layout/sw_frmtool.cxx
index 05b2585..ed7d98a 100644
--- a/binfilter/bf_sw/source/core/layout/sw_frmtool.cxx
+++ b/binfilter/bf_sw/source/core/layout/sw_frmtool.cxx
@@ -74,7 +74,6 @@
 #include "notxtfrm.hxx"
 #include "flyfrms.hxx"
 #include "frmsh.hxx"
-#include "layact.hxx"
 #include "pagedesc.hxx"
 #include "section.hxx"
 #include "sectfrm.hxx"
@@ -625,14 +624,9 @@ namespace binfilter {
 /*N*/   SwFlyFrm *pFly = GetFly();
 /*N*/   if ( pFly->IsNotifyBack() )
 /*N*/   {
-/*N*/       ViewShell *pSh = pFly->GetShell();
-/*N*/       SwViewImp *pImp = pSh ? pSh->Imp() : 0;
-/*N*/       if ( !pImp || !pImp->IsAction() || !pImp->GetLayAction().IsAgain() )
-/*N*/       {
-/*N*/           //Wenn in der LayAction das IsAgain gesetzt ist kann es sein,
-/*N*/           //dass die alte Seite inzwischen vernichtet wurde!
-/*N*/           ::binfilter::Notify( pFly, pOldPage, aFrmAndSpace );
-/*N*/       }
+/*N*/       //Wenn in der LayAction das IsAgain gesetzt ist kann es sein,
+/*N*/       //dass die alte Seite inzwischen vernichtet wurde!
+/*N*/       ::binfilter::Notify( pFly, pOldPage, aFrmAndSpace );
 /*N*/       pFly->ResetNotifyBack();
 /*N*/   }
 /*N*/
diff --git a/binfilter/bf_sw/source/core/layout/sw_layact.cxx b/binfilter/bf_sw/source/core/layout/sw_layact.cxx
deleted file mode 100644
index 10bbe48..0000000
--- a/binfilter/bf_sw/source/core/layout/sw_layact.cxx
+++ /dev/null
@@ -1,1186 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-#include <time.h>
-#include "pagefrm.hxx"
-
-#include <horiornt.hxx>
-
-#include "doc.hxx"
-#include "viewimp.hxx"
-#include "crsrsh.hxx"
-#include "dflyobj.hxx"
-#include "frmtool.hxx"
-#include "dcontact.hxx"
-#include "frmfmt.hxx"
-#include "swregion.hxx"
-#include "viewopt.hxx"  // OnlineSpelling ueber Internal-TabPage testen.
-#include "pam.hxx"      // OnlineSpelling wg. der aktuellen Cursorposition
-#include "dbg_lay.hxx"
-
-#include <ftnidx.hxx>
-
-#include <vcl/window.hxx>
-#include <vcl/svapp.hxx>
-#include <bf_svx/brshitem.hxx>
-
-#define _SVSTDARR_BOOLS
-
-#define _LAYACT_CXX
-#include "layact.hxx"
-
-#include <swwait.hxx>
-#include <fmtanchr.hxx>
-#include <bf_sfx2/progress.hxx>
-
-#include "tabfrm.hxx"
-#include "ftnfrm.hxx"
-#include "txtfrm.hxx"
-#include "flyfrms.hxx"
-#include "frmsh.hxx"
-#include "mdiexp.hxx"
-#include "fmtornt.hxx"
-#include "sectfrm.hxx"
-#include <acmplwrd.hxx>
-namespace binfilter {
-
-//#pragma optimize("ity",on)
-
-/*************************************************************************
-|*
-|*  SwLayAction Statisches Geraffel
-|*
-|*************************************************************************/
-
-/*N*/ #define IS_FLYS (pPage->GetSortedObjs())
-/*N*/ #define IS_INVAFLY (pPage->IsInvalidFly())
-
-
-//Sparen von Schreibarbeit um den Zugriff auf zerstoerte Seiten zu vermeiden.
-/*N*/ #ifdef DBG_UTIL
-
-/*N*/ static void BreakPoint()
-/*N*/ {
-/*N*/   return;
-/*N*/ }
-
-/*N*/ #define CHECKPAGE \
-/*N*/           {   if ( IsAgain() ) \
-/*N*/               {   BreakPoint(); \
-/*N*/                   return; \
-/*N*/               } \
-/*N*/           }
-/*N*/
-/*N*/ #else
-/*?*/ #define CHECKPAGE \
-/*?*/           {   if ( IsAgain() ) \
-/*?*/                   return; \
-/*?*/           }
-/*?*/
-/*N*/ #endif
-
-/*N*/ #define RESCHEDULE \
-/*N*/   { \
-/*N*/       if ( IsReschedule() )  \
-/*N*/         { \
-/*N*/             if (pProgress) pProgress->Reschedule(); \
-/*N*/           ::binfilter::RescheduleProgress( pImp->GetShell()->GetDoc()->GetDocShell() ); \
-/*N*/         } \
-/*N*/   }
-
-/*N*/ inline ULONG Ticks()
-/*N*/ {
-/*N*/   return 1000 * clock() / CLOCKS_PER_SEC;
-/*N*/ }
-
-/*N*/ void SwLayAction::CheckWaitCrsr()
-/*N*/ {
-/*N*/   RESCHEDULE
-/*N*/ }
-
-/*************************************************************************
-|*
-|*  SwLayAction::CheckIdleEnd()
-|*
-|*************************************************************************/
-//Ist es wirklich schon soweit...
-/*N*/ inline void SwLayAction::CheckIdleEnd()
-/*N*/ {
-/*N*/   if ( !IsInput() )
-/*N*/         bInput = GetInputType() && Application::AnyInput( GetInputType() );
-/*N*/ }
-
-/*************************************************************************
-|*
-|*  SwLayAction::PaintCntnt()
-|*
-|*  Beschreibung        Je nach Typ wird der Cntnt entsprechend seinen
-|*      Veraenderungen ausgegeben bzw. wird die auszugebende Flaeche in der
-|*      Region eingetragen.
-|*      PaintCntnt:  fuellt die Region,
-|*
-|*************************************************************************/
-/*N*/ BOOL SwLayAction::PaintWithoutFlys( const SwRect &rRect, const SwCntntFrm *pCnt,
-/*N*/                                   const SwPageFrm *pPage )
-/*N*/ {
-/*N*/   SwRegionRects aTmp( rRect );
-/*N*/   const SwSortDrawObjs &rObjs = *pPage->GetSortedObjs();
-/*N*/   const SwFlyFrm *pSelfFly = pCnt->FindFlyFrm();
-/*N*/
-        USHORT i=0;
-/*N*/   for ( i = 0; i < rObjs.Count() && aTmp.Count(); ++i )
-/*N*/   {
-/*N*/       SdrObject *pO = rObjs[i];
-/*N*/       if ( !pO->IsWriterFlyFrame() )
-/*N*/           continue;
-/*N*/
-/*N*/       SwFlyFrm *pFly = ((SwVirtFlyDrawObj*)pO)->GetFlyFrm();
-/*N*/
-/*N*/       if ( pFly == pSelfFly || !rRect.IsOver( pFly->Frm() ) )
-/*N*/           continue;
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/   }
-/*N*/
-/*N*/   BOOL bPaint1 = FALSE;
-/*N*/   const SwRect *pData = aTmp.GetData();
-/*N*/   for ( i = 0; i < aTmp.Count(); ++pData, ++i )
-/*N*/       bPaint1 |= pImp->GetShell()->AddPaintRect( *pData );
-/*N*/   return bPaint1;
-/*N*/ }
-
-/*N*/ inline BOOL SwLayAction::_PaintCntnt( const SwCntntFrm *pCntnt,
-/*N*/                                     const SwPageFrm *pPage,
-/*N*/                                     const SwRect &rRect )
-/*N*/ {
-/*N*/   if ( rRect.HasArea() )
-/*N*/   {
-/*N*/       if ( pPage->GetSortedObjs() )
-/*N*/           return PaintWithoutFlys( rRect, pCntnt, pPage );
-/*N*/       else
-/*N*/           return pImp->GetShell()->AddPaintRect( rRect );
-/*N*/   }
-/*N*/   return FALSE;
-/*N*/ }
-
-/*N*/ void SwLayAction::PaintCntnt( const SwCntntFrm *pCnt,
-/*N*/                             const SwPageFrm *pPage,
-/*N*/                               const SwRect &rOldRect,
-/*N*/                               long nOldBottom )
-/*N*/ {
-/*N*/     SWRECTFN( pCnt )
-/*N*/
-/*N*/     if ( pCnt->IsCompletePaint() || !pCnt->IsTxtFrm() )
-/*N*/   {
-/*N*/       SwRect aPaint( pCnt->PaintArea() );
-/*N*/         // paint of old area no longer needed.
-/*N*/       if ( !_PaintCntnt( pCnt, pPage, aPaint ) )
-/*N*/           pCnt->ResetCompletePaint();
-/*N*/   }
-/*N*/   else
-/*N*/   {
-/*N*/         // paint the area between printing bottom and frame bottom and
-/*N*/         // the area left and right beside the frame, if its height changed.
-/*N*/         long nOldHeight = (rOldRect.*fnRect->fnGetHeight)();
-/*N*/         long nNewHeight = (pCnt->Frm().*fnRect->fnGetHeight)();
-/*N*/         const bool bHeightDiff = nOldHeight != nNewHeight;
-/*N*/         if( bHeightDiff )
-/*N*/         {
-/*N*/             // consider whole potential paint area.
-/*N*/             //SwRect aDrawRect( pCnt->UnionFrm( TRUE ) );
-/*N*/             SwRect aDrawRect( pCnt->PaintArea() );
-/*N*/             if( nOldHeight > nNewHeight )
-/*N*/                 nOldBottom = (pCnt->*fnRect->fnGetPrtBottom)();
-/*N*/             (aDrawRect.*fnRect->fnSetTop)( nOldBottom );
-/*N*/             _PaintCntnt( pCnt, pPage, aDrawRect );
-/*N*/         }
-/*N*/         // paint content area
-/*N*/         SwRect aPaintRect = static_cast<SwTxtFrm*>(const_cast<SwCntntFrm*>(pCnt))->Paint();
-/*N*/         _PaintCntnt( pCnt, pPage, aPaintRect );
-/*N*/   }
-/*N*/
-/*N*/   if ( pCnt->IsRetouche() && !pCnt->GetNext() )
-/*N*/   {
-/*N*/       const SwFrm *pTmp = pCnt;
-/*N*/       if( pCnt->IsInSct() )
-/*N*/       {
-/*N*/           const SwSectionFrm* pSct = pCnt->FindSctFrm();
-/*N*/           if( pSct->IsRetouche() && !pSct->GetNext() )
-/*N*/               pTmp = pSct;
-/*N*/       }
-/*N*/       SwRect aRect( pTmp->GetUpper()->PaintArea() );
-/*N*/         (aRect.*fnRect->fnSetTop)( (pTmp->*fnRect->fnGetPrtBottom)() );
-/*N*/       if ( !_PaintCntnt( pCnt, pPage, aRect ) )
-/*N*/           pCnt->ResetRetouche();
-/*N*/   }
-/*N*/ }
-
-/*************************************************************************
-|*
-|*  SwLayAction::_AddScrollRect()
-|*
-|*************************************************************************/
-/*N*/ BOOL MA_FASTCALL lcl_IsOverObj( const SwFrm *pFrm, const SwPageFrm *pPage,
-/*N*/                      const SwRect &rRect1, const SwRect &rRect2,
-/*N*/                      const SwLayoutFrm *pLay )
-/*N*/ {
-/*N*/   const SwSortDrawObjs &rObjs = *pPage->GetSortedObjs();
-/*N*/   const SwFlyFrm *pSelfFly = pFrm->FindFlyFrm();
-/*N*/   const BOOL bInCnt = pSelfFly && pSelfFly->IsFlyInCntFrm() ? TRUE : FALSE;
-/*N*/
-/*N*/   for ( USHORT j = 0; j < rObjs.Count(); ++j )
-/*N*/   {
-/*N*/       const SdrObject         *pObj = rObjs[j];
-/*N*/       const SwRect aRect( pObj->GetBoundRect() );
-/*N*/       if ( !rRect1.IsOver( aRect ) && !rRect2.IsOver( aRect ) )
-/*N*/           continue;       //Keine Ueberlappung, der naechste.
-/*N*/
-/*N*/       const SwVirtFlyDrawObj *pFlyObj = pObj->IsWriterFlyFrame() ?
-/*N*/                                               (SwVirtFlyDrawObj*)pObj : 0;
-/*N*/       const SwFlyFrm *pFly = pFlyObj ? pFlyObj->GetFlyFrm() : 0;
-/*N*/
-/*N*/       //Wenn der Rahmen innerhalb des LayFrm verankert ist, so darf er
-/*N*/       //mitgescrollt werden, wenn er nicht seitlich aus dem Rechteck
-/*N*/       //herausschaut.
-/*N*/       if ( pLay && pFlyObj && pFlyObj->GetFlyFrm()->IsLowerOf( pLay ) )
-/*N*/       {
-/*?*/            if ( pFly->Frm().Left() < rRect1.Left() ||
-/*?*/                 pFly->Frm().Right()> rRect1.Right() )
-/*?*/               return TRUE;
-/*?*/           continue;
-/*N*/       }
-/*N*/
-/*N*/       if ( !pSelfFly )    //Nur wenn der Frm in einem Fly steht kann
-/*N*/           return TRUE;    //es Einschraenkungen geben.
-/*N*/
-/*?*/       if ( !pFlyObj )     //Keine Einschraenkung fuer Zeichenobjekte.
-/*?*/           return TRUE;
-/*?*/
-/*?*/       if ( pFly != pSelfFly )
-/*?*/       {
-/*?*/           //Flys unter dem eigenen nur dann abziehen, wenn sie innerhalb des
-/*?*/           //eigenen stehen.
-/*?*/           //Fuer inhaltsgebundene Flys alle Flys abziehen fuer die gilt, dass
-/*?*/           //pSelfFly nicht innerhalb von ihnen steht.
-/*?*/           if ( bInCnt )
-/*?*/           {
-/*?*/               const SwFlyFrm *pTmp = pSelfFly->GetAnchor()->FindFlyFrm();
-/*?*/               while ( pTmp )
-/*?*/               {
-/*?*/                   if ( pTmp == pFly )
-/*?*/                       return FALSE;
-/*?*/                   else
-/*?*/                       pTmp = pTmp->GetAnchor()->FindFlyFrm();
-/*?*/               }
-/*?*/           } else if ( pObj->GetOrdNum() < pSelfFly->GetVirtDrawObj()->GetOrdNum() )
-/*?*/           {
-/*?*/               const SwFlyFrm *pTmp = pFly;
-/*?*/               do
-/*?*/               {   if ( pTmp == pSelfFly )
-/*?*/                       return TRUE;
-/*?*/                   else
-/*?*/                       pTmp = pTmp->GetAnchor()->FindFlyFrm();
-/*?*/               } while ( pTmp );
-/*?*/           } else
-/*?*/               return TRUE;
-/*?*/       }
-/*N*/   }
-/*N*/   return FALSE;
-/*N*/ }
-
-/*************************************************************************
-|*
-|*  SwLayAction::SwLayAction()
-|*
-|*************************************************************************/
-/*N*/ SwLayAction::SwLayAction( SwRootFrm *pRt, SwViewImp *pI )
-/*N*/   : pRoot( pRt )
-/*N*/   , pImp( pI )
-/*N*/   , pOptTab( 0 )
-/*N*/   , pWait( 0 )
-/*N*/   , pProgress(NULL)
-/*N*/   , nPreInvaPage( USHRT_MAX )
-/*N*/   , nStartTicks( Ticks() )
-/*N*/   , nInputType( 0 )
-/*N*/   , nEndPage( USHRT_MAX )
-/*N*/   , nCheckPageNum( USHRT_MAX )
-/*N*/ {
-/*N*/   bPaintExtraData = ::binfilter::IsExtraData( pImp->GetShell()->GetDoc() );
-/*N*/   bPaint = bComplete = bWaitAllowed = bCheckPages = TRUE;
-/*N*/   bInput = bAgain = bNextCycle = bCalcLayout = bIdle = bReschedule =
-/*N*/   bUpdateExpFlds = bBrowseActionStop = bActionInProgress = FALSE;
-/*N*/     // init new flag <mbFormatCntntOnInterrupt>.
-/*N*/     mbFormatCntntOnInterrupt = sal_False;
-/*N*/
-/*N*/     pImp->pLayAct = this;   //Anmelden
-/*N*/ }
-
-/*N*/ SwLayAction::~SwLayAction()
-/*N*/ {
-/*N*/   OSL_ENSURE( !pWait, "Wait object not destroyed" );
-/*N*/   pImp->pLayAct = 0;      //Abmelden
-/*N*/ }
-
-/*************************************************************************
-|*
-|*  Beschreibung:       Liefert ein True, wenn die Seite vollstaendig unter
-|*      oder rechts neben dem sichbaren Bereich liegt.
-|*      Es kann passieren, dass sich die Verhaeltnisse derart aendern, dass
-|*      die Verarbeitung (des Aufrufers!) mit der Vorgaengerseite der
-|*      uebergebenen Seite weitergefuehrt werden muss. Der Paramter wird also
-|*      ggf. veraendert!
-|*      Fuer den BrowseMode kann auch dann der ShortCut aktiviert werden,
-|*      wenn der ungueltige Inhalt der Seite unterhalb des sichbaren
-|*      bereiches liegt.
-|*
-|*************************************************************************/
-/*N*/ const SwFrm *lcl_FindFirstInvaLay( const SwFrm *pFrm, long nBottom )
-/*N*/ {
-/*N*/   OSL_ENSURE( pFrm->IsLayoutFrm(), "FindFirstInvaLay, no LayFrm" );
-/*N*/
-/*N*/   if ( !pFrm->IsValid() || (pFrm->IsCompletePaint() &&
-/*N*/        pFrm->Frm().Top() < nBottom) )
-/*N*/       return pFrm;
-/*N*/   pFrm = ((SwLayoutFrm*)pFrm)->Lower();
-/*N*/   while ( pFrm )
-/*N*/   {
-/*N*/       if ( pFrm->IsLayoutFrm() )
-/*N*/       {
-/*N*/           if ( !pFrm->IsValid() || (pFrm->IsCompletePaint() &&
-/*N*/                pFrm->Frm().Top() < nBottom) )
-/*N*/               return pFrm;
-/*N*/           const SwFrm *pTmp;
-/*N*/           if ( 0 != (pTmp = ::binfilter::lcl_FindFirstInvaLay( pFrm, nBottom )) )
-/*N*/               return pTmp;
-/*N*/       }
-/*N*/       pFrm = pFrm->GetNext();
-/*N*/   }
-/*N*/   return 0;
-/*N*/ }
-
-/*N*/ const SwFrm *lcl_FindFirstInvaCntnt( const SwLayoutFrm *pLay, long nBottom,
-/*N*/                                    const SwCntntFrm *pFirst )
-/*N*/ {
-/*N*/   const SwCntntFrm *pCnt = pFirst ? pFirst->GetNextCntntFrm() :
-/*N*/                                     pLay->ContainsCntnt();
-/*N*/   while ( pCnt )
-/*N*/   {
-/*N*/       if ( !pCnt->IsValid() || pCnt->IsCompletePaint() )
-/*N*/       {
-/*N*/           if ( pCnt->Frm().Top() <= nBottom )
-/*N*/               return pCnt;
-/*N*/       }
-/*N*/
-/*N*/       if ( pCnt->GetDrawObjs() )
-/*N*/       {
-/*N*/           const SwDrawObjs &rObjs = *pCnt->GetDrawObjs();
-/*N*/           for ( USHORT i = 0; i < rObjs.Count(); ++i )
-/*N*/           {
-/*N*/               const SdrObject *pO = rObjs[i];
-/*N*/               if ( pO->IsWriterFlyFrame() )
-/*N*/               {
-/*N*/                   const SwFlyFrm* pFly = ((SwVirtFlyDrawObj*)pO)->GetFlyFrm();
-/*N*/                   if ( pFly->IsFlyInCntFrm() )
-/*N*/                   {
-/*N*/                       if ( ((SwFlyInCntFrm*)pFly)->IsInvalid() ||
-/*N*/                            pFly->IsCompletePaint() )
-/*N*/                       {
-/*N*/                           if ( pFly->Frm().Top() <= nBottom )
-/*N*/                               return pFly;
-/*N*/                       }
-/*N*/                       const SwFrm *pFrm = lcl_FindFirstInvaCntnt( pFly, nBottom, 0 );
-/*N*/                       if ( pFrm && pFrm->Frm().Bottom() <= nBottom )
-/*N*/                           return pFrm;
-/*N*/                   }
-/*N*/               }
-/*N*/           }
-/*N*/       }
-/*N*/       if ( pCnt->Frm().Top() > nBottom && !pCnt->IsInTab() )
-/*N*/           return 0;
-/*N*/       pCnt = pCnt->GetNextCntntFrm();
-/*N*/       if ( !pLay->IsAnLower( pCnt ) )
-/*N*/           break;
-/*N*/   }
-/*N*/   return 0;
-/*N*/ }
-
-/*************************************************************************
-|*
-|*  SwLayAction::ChkFlyAnchor()
-|*
-|*************************************************************************/
-/*N*/ void SwLayAction::ChkFlyAnchor( SwFlyFrm *pFly, const SwPageFrm *pPage )
-/*N*/ {
-/*N*/   //Wenn der Fly innerhalb eines anderen Rahmens gebunden ist, so sollte
-/*N*/   //dieser zuerst Formatiert werden.
-/*N*/
-/*N*/   if ( pFly->GetAnchor()->IsInTab() )
-/*N*/       pFly->GetAnchor()->FindTabFrm()->Calc();
-/*N*/
-/*N*/   SwFlyFrm *pAnch = pFly->GetAnchor()->FindFlyFrm();
-/*N*/   if ( pAnch )
-/*N*/   {
-/*N*/       ChkFlyAnchor( pAnch, pPage );
-/*N*/       CHECKPAGE;
-/*N*/       while ( pPage == pAnch->FindPageFrm() && FormatLayoutFly( pAnch ) )
-/*N*/           /* do nothing */;
-/*N*/   }
-/*N*/ }
-
-/*************************************************************************
-|*
-|*  SwLayAction::FormatLayout(), FormatLayoutFly, FormatLayoutTab()
-|*
-|*************************************************************************/
-// introduce support for vertical layout
-/*N*/ BOOL SwLayAction::FormatLayout( SwLayoutFrm *pLay, BOOL bAddRect )
-/*N*/ {
-/*N*/   OSL_ENSURE( !IsAgain(), "Ungueltige Seite beachten." );
-/*N*/   if ( IsAgain() )
-/*?*/       return FALSE;
-/*N*/
-/*N*/   BOOL bChanged = FALSE;
-/*N*/   BOOL bAlreadyPainted = FALSE;
-/*N*/     // remember frame at complete paint
-/*N*/     SwRect aFrmAtCompletePaint;
-/*N*/
-/*N*/   if ( !pLay->IsValid() || pLay->IsCompletePaint() )
-/*N*/   {
-/*N*/       if ( pLay->GetPrev() && !pLay->GetPrev()->IsValid() )
-/*N*/           pLay->GetPrev()->SetCompletePaint();
-/*N*/
-/*N*/       SwRect aOldRect( pLay->Frm() );
-/*N*/       pLay->Calc();
-/*N*/       if ( aOldRect != pLay->Frm() )
-/*N*/           bChanged = TRUE;
-/*N*/
-/*N*/       bool bNoPaint = FALSE;
-/*N*/         if ( pLay->IsPageBodyFrm() &&
-/*N*/              pLay->Frm().Pos() == aOldRect.Pos() &&
-/*N*/              pLay->Lower() &&
-/*N*/              pLay->GetFmt()->GetDoc()->IsBrowseMode() )
-/*N*/       {
-/*N*/           //HotFix: Vobis Homepage, nicht so genau hinsehen, sonst
-/*N*/           //rpaints
-/*N*/
-/*N*/           //Einschraenkungen wegen Kopf-/Fusszeilen
-/*N*/             if ( !( pLay->IsCompletePaint() &&
-/*N*/                    ( pLay->GetFmt()->GetDoc()->IsHeadInBrowse() ||
-/*N*/                      pLay->GetFmt()->GetDoc()->IsFootInBrowse() ||
-/*N*/                      pLay->FindPageFrm()->FindFtnCont() )
-/*N*/                   )
-/*N*/                )
-/*N*/           {
-/*N*/               bNoPaint = TRUE;
-/*N*/           }
-/*N*/       }
-/*N*/
-/*N*/       if ( !bNoPaint && IsPaint() && bAddRect && (pLay->IsCompletePaint() || bChanged) )
-/*N*/       {
-/*N*/           SwRect aPaint( pLay->Frm() );
-/*N*/             // #i9719# - consider border and shadow for
-/*N*/             // page frames -> enlarge paint rectangle correspondingly.
-/*N*/             if ( pLay->IsPageFrm() )
-/*N*/             {
-/*N*/                 SwPageFrm* pPageFrm = static_cast<SwPageFrm*>(pLay);
-/*N*/                 const int nBorderWidth =
-/*N*/                         pImp->GetShell()->GetOut()->PixelToLogic( Size( pPageFrm->BorderPxWidth(), 0 ) ).Width();
-/*N*/                 const int nShadowWidth =
-/*N*/                         pImp->GetShell()->GetOut()->PixelToLogic( Size( pPageFrm->ShadowPxWidth(), 0 ) ).Width();
-/*N*/                 aPaint.Left( aPaint.Left() - nBorderWidth );
-/*N*/                 aPaint.Top( aPaint.Top() - nBorderWidth );
-/*N*/                 aPaint.Right( aPaint.Right() + nBorderWidth + nShadowWidth );
-/*N*/                 aPaint.Bottom( aPaint.Bottom() + nBorderWidth + nShadowWidth );
-/*N*/             }
-/*N*/
-/*N*/             if ( pLay->IsPageFrm() &&
-/*N*/                  pLay->GetFmt()->GetDoc()->IsBrowseMode() )
-/*N*/           {
-/*N*/                 // NOTE: no vertical layout in online layout
-/*N*/                 //Ist die Aenderung ueberhaupt sichtbar?
-/*N*/               if ( pLay->IsCompletePaint() )
-/*N*/               {
-/*N*/                   pImp->GetShell()->AddPaintRect( aPaint );
-/*N*/                   bAddRect = FALSE;
-/*N*/               }
-/*N*/               else
-/*N*/               {
-/*N*/                   SwRegionRects aRegion( aOldRect );
-/*N*/                   aRegion -= aPaint;
-                        USHORT i=0;
-/*N*/                   for ( i = 0; i < aRegion.Count(); ++i )
-/*N*/                       pImp->GetShell()->AddPaintRect( aRegion[i] );
-/*N*/                     aRegion.ChangeOrigin( aPaint );
-/*N*/                   aRegion.Remove( 0, aRegion.Count() );
-/*N*/                   aRegion.Insert( aPaint, 0 );
-/*N*/                   aRegion -= aOldRect;
-/*N*/                   for ( i = 0; i < aRegion.Count(); ++i )
-/*N*/                       pImp->GetShell()->AddPaintRect( aRegion[i] );
-/*N*/               }
-/*N*/
-/*N*/           }
-/*N*/           else
-/*N*/           {
-/*N*/               pImp->GetShell()->AddPaintRect( aPaint );
-/*N*/                 bAlreadyPainted = TRUE;
-/*N*/                 // remember frame at complete paint
-/*N*/                 aFrmAtCompletePaint = pLay->Frm();
-/*N*/           }
-/*N*/
-/*N*/             // #i9719# - provide paint of spacing
-/*N*/             // between pages (not only for in online mode).
-/*N*/             if ( pLay->IsPageFrm() )
-/*N*/             {
-/*N*/                 if ( pLay->GetPrev() )
-/*N*/                 {
-/*N*/                     SwRect aSpaceToPrevPage( pLay->Frm() );
-/*N*/                     SwTwips nTop = aSpaceToPrevPage.Top() - DOCUMENTBORDER/2;
-/*N*/                     if ( nTop >= 0 )
-/*N*/                         aSpaceToPrevPage.Top( nTop );
-/*N*/                     aSpaceToPrevPage.Bottom( pLay->Frm().Top() );
-/*N*/                     pImp->GetShell()->AddPaintRect( aSpaceToPrevPage );
-/*N*/                 }
-/*N*/                 if ( pLay->GetNext() )
-/*N*/                 {
-/*N*/                     SwRect aSpaceToNextPage( pLay->Frm() );
-/*N*/                     aSpaceToNextPage.Bottom( aSpaceToNextPage.Bottom() + DOCUMENTBORDER/2 );
-/*N*/                     aSpaceToNextPage.Top( pLay->Frm().Bottom() );
-/*N*/                     pImp->GetShell()->AddPaintRect( aSpaceToNextPage );
-/*N*/                 }
-/*N*/             }
-/*N*/
-/*N*/         }
-/*N*/       pLay->ResetCompletePaint();
-/*N*/   }
-/*N*/
-/*N*/   if ( IsPaint() && bAddRect &&
-/*N*/        !pLay->GetNext() && pLay->IsRetoucheFrm() && pLay->IsRetouche() )
-/*N*/   {
-/*N*/         // vertical layout support
-/*N*/         SWRECTFN( pLay );
-/*N*/         SwRect aRect( pLay->GetUpper()->PaintArea() );
-/*N*/         (aRect.*fnRect->fnSetTop)( (pLay->*fnRect->fnGetPrtBottom)() );
-/*N*/       if ( !pImp->GetShell()->AddPaintRect( aRect ) )
-/*N*/           pLay->ResetRetouche();
-/*N*/   }
-/*N*/
-/*N*/   if( bAlreadyPainted )
-/*N*/       bAddRect = FALSE;
-/*N*/
-/*N*/   CheckWaitCrsr();
-/*N*/
-/*N*/   if ( IsAgain() )
-/*N*/       return FALSE;
-/*N*/
-/*N*/   //Jetzt noch diejenigen Lowers versorgen die LayoutFrm's sind
-/*N*/
-/*N*/   if ( pLay->IsFtnFrm() ) //Hat keine LayFrms als Lower.
-/*N*/       return bChanged;
-/*N*/
-/*N*/   SwFrm *pLow = pLay->Lower();
-/*N*/   BOOL bTabChanged = FALSE;
-/*N*/   while ( pLow && pLow->GetUpper() == pLay )
-/*N*/   {
-/*N*/       if ( pLow->IsLayoutFrm() )
-/*N*/       {
-/*N*/           if ( pLow->IsTabFrm() )
-/*N*/               bTabChanged |= FormatLayoutTab( (SwTabFrm*)pLow, bAddRect );
-/*N*/           // bereits zum Loeschen angemeldete Ueberspringen
-/*N*/           else if( !pLow->IsSctFrm() || ((SwSectionFrm*)pLow)->GetSection() )
-/*N*/               bChanged |= FormatLayout( (SwLayoutFrm*)pLow, bAddRect );
-/*N*/       }
-/*N*/       else if ( pImp->GetShell()->IsPaintLocked() )
-/*N*/           //Abkuerzung im die Zyklen zu minimieren, bei Lock kommt das
-/*N*/           //Paint sowieso (Primaer fuer Browse)
-/*N*/           pLow->OptCalc();
-/*N*/
-/*N*/       if ( IsAgain() )
-/*N*/           return FALSE;
-/*N*/       pLow = pLow->GetNext();
-/*N*/   }
-/*N*/     // add complete frame area as paint area, if frame area has been
-/*N*/     // already added and after formating its lowers the frame area
-/*N*/     // is enlarged.
-/*N*/     if ( bAlreadyPainted &&
-/*N*/          ( pLay->Frm().Width() > aFrmAtCompletePaint.Width() ||
-/*N*/            pLay->Frm().Height() > aFrmAtCompletePaint.Height() )
-/*N*/        )
-/*N*/     {
-/*N*/         pImp->GetShell()->AddPaintRect( pLay->Frm() );
-/*N*/     }
-/*N*/     return bChanged || bTabChanged;
-/*N*/ }
-
-/*N*/ BOOL SwLayAction::FormatLayoutFly( SwFlyFrm *pFly, BOOL bAddRect )
-/*N*/ {
-/*N*/   OSL_ENSURE( !IsAgain(), "Ungueltige Seite beachten." );
-/*N*/   if ( IsAgain() )
-/*?*/       return FALSE;
-/*N*/
-/*N*/   BOOL bChanged = FALSE;
-/*N*/
-/*N*/   if ( !pFly->IsValid() || pFly->IsCompletePaint() || pFly->IsInvalid() )
-/*N*/   {
-/*N*/       //Der Frame hat sich veraendert, er wird jetzt Formatiert
-/*N*/       const SwRect aOldRect( pFly->Frm() );
-/*N*/       pFly->Calc();
-/*N*/       bChanged = aOldRect != pFly->Frm();
-/*N*/
-/*N*/       if ( IsPaint() && bAddRect && (pFly->IsCompletePaint() || bChanged) &&
-/*N*/            pFly->Frm().Top() > 0 && pFly->Frm().Left() > 0 )
-/*N*/           pImp->GetShell()->AddPaintRect( pFly->Frm() );
-/*N*/
-/*N*/       if ( bChanged )
-/*N*/           pFly->Invalidate();
-/*N*/       else
-/*N*/           pFly->Validate();
-/*N*/       bAddRect = FALSE;
-/*N*/       pFly->ResetCompletePaint();
-/*N*/   }
-/*N*/
-/*N*/   if ( IsAgain() )
-/*?*/       return FALSE;
-/*N*/
-/*N*/   //Jetzt noch diejenigen Lowers versorgen die LayoutFrm's sind
-/*N*/   BOOL bTabChanged = FALSE;
-/*N*/   SwFrm *pLow = pFly->Lower();
-/*N*/   while ( pLow )
-/*N*/   {
-/*N*/       if ( pLow->IsLayoutFrm() )
-/*N*/       {
-/*N*/           if ( pLow->IsTabFrm() )
-/*N*/               bTabChanged |= FormatLayoutTab( (SwTabFrm*)pLow, bAddRect );
-/*N*/           else
-/*N*/               bChanged |= FormatLayout( (SwLayoutFrm*)pLow, bAddRect );
-/*N*/       }
-/*N*/       pLow = pLow->GetNext();
-/*N*/   }
-/*N*/   return bChanged || bTabChanged;
-/*N*/ }
-
-/*N*/ BOOL MA_FASTCALL lcl_AreLowersScrollable( const SwLayoutFrm *pLay )
-/*N*/ {
-/*N*/   const SwFrm *pLow = pLay->Lower();
-/*N*/   while ( pLow )
-/*N*/   {
-/*N*/       if ( pLow->IsCompletePaint() || !pLow->IsValid() )
-/*N*/           return FALSE;
-/*N*/       if ( pLow->IsLayoutFrm() && !::binfilter::lcl_AreLowersScrollable( (SwLayoutFrm*)pLow ))
-/*N*/           return FALSE;
-/*N*/       pLow = pLow->GetNext();
-/*N*/   }
-/*N*/   return TRUE;
-/*N*/ }
-
-/*N*/ SwLayoutFrm * MA_FASTCALL lcl_IsTabScrollable( SwTabFrm *pTab )
-/*N*/ {
-/*N*/   //returnt die erste unveraenderte Zeile, oder 0 wenn nicht
-/*N*/   //gescrollt werden darf.
-/*N*/   if ( !pTab->IsCompletePaint() )
-/*N*/   {
-/*N*/       SwLayoutFrm *pUnchgdRow = 0;
-/*N*/       SwLayoutFrm *pRow = (SwLayoutFrm*)pTab->Lower();
-/*N*/       while ( pRow )
-/*N*/       {
-/*N*/           if ( !::binfilter::lcl_AreLowersScrollable( pRow ) )
-/*N*/               pUnchgdRow = 0;
-/*N*/           else if ( !pUnchgdRow )
-/*N*/               pUnchgdRow = pRow;
-/*N*/           pRow = (SwLayoutFrm*)pRow->GetNext();
-/*N*/       }
-/*N*/       return pUnchgdRow;
-/*N*/   }
-/*N*/   return 0;
-/*N*/ }
-
-/*N*/ void MA_FASTCALL lcl_ValidateLowers( SwLayoutFrm *pLay, const SwTwips nOfst,
-/*N*/                       SwLayoutFrm *pRow, SwPageFrm *pPage,
-/*N*/                       BOOL bResetOnly )
-/*N*/ {
-/*N*/   pLay->ResetCompletePaint();
-/*N*/   SwFrm *pLow = pLay->Lower();
-/*N*/   if ( pRow )
-/*N*/       while ( pLow != pRow )
-/*N*/           pLow = pLow->GetNext();
-/*N*/
-/*N*/   while ( pLow )
-/*N*/   {
-/*N*/       if ( !bResetOnly )
-/*N*/       {
-/*N*/           SwRect aOldFrm( pLow->Frm() );
-/*N*/           pLow->Frm().Pos().Y() += nOfst;
-/*N*/       }
-/*N*/       if ( pLow->IsLayoutFrm() )
-/*N*/       {
-/*N*/           ::binfilter::lcl_ValidateLowers( (SwLayoutFrm*)pLow, nOfst, 0, pPage, bResetOnly);
-/*N*/       }
-/*N*/       else
-/*N*/       {
-/*N*/           pLow->ResetCompletePaint();
-/*N*/           if ( pLow->GetDrawObjs() )
-/*N*/           {
-/*N*/               for ( USHORT i = 0; i < pLow->GetDrawObjs()->Count(); ++i )
-/*N*/               {
-/*N*/                   SdrObject *pO = (*pLow->GetDrawObjs())[i];
-/*N*/                   if ( pO->IsWriterFlyFrame() )
-/*N*/                   {
-/*N*/                       SwFlyFrm *pFly = ((SwVirtFlyDrawObj*)pO)->GetFlyFrm();
-/*N*/                       if ( !bResetOnly )
-/*N*/                       {
-/*N*/                           pFly->Frm().Pos().Y() += nOfst;
-/*N*/                             pFly->GetVirtDrawObj()->_SetRectsDirty();
-/*N*/                           if ( pFly->IsFlyInCntFrm() )
-/*N*/                               ((SwFlyInCntFrm*)pFly)->AddRefOfst( nOfst );
-/*N*/                       }
-/*N*/                       ::binfilter::lcl_ValidateLowers( pFly, nOfst, 0, pPage, bResetOnly);
-/*N*/                   }
-/*N*/                   else
-/*N*/                   {
-/*N*/                         // consider 'virtual' drawing objects.
-/*N*/                         if ( pO->ISA(SwDrawVirtObj) )
-/*N*/                         {
-/*N*/                             SwDrawVirtObj* pDrawVirtObj = static_cast<SwDrawVirtObj*>(pO);
-/*N*/                             pDrawVirtObj->SetAnchorPos( pLow->GetFrmAnchorPos( ::binfilter::HasWrap( pO ) ) );
-/*N*/                             pDrawVirtObj->AdjustRelativePosToReference();
-/*N*/                         }
-/*N*/                         else
-/*N*/                         {
-/*N*/                             pO->SetAnchorPos( pLow->GetFrmAnchorPos( ::binfilter::HasWrap( pO ) ) );
-/*N*/                             SwFrmFmt *pFrmFmt = FindFrmFmt( pO );
-/*N*/                             if( !pFrmFmt ||
-/*N*/                                 FLY_IN_CNTNT != pFrmFmt->GetAnchor().GetAnchorId() )
-/*N*/                             {
-/*N*/                                 ((SwDrawContact*)pO->GetUserCall())->ChkPage();
-/*N*/                             }
-/*N*/                             // correct relative position
-/*N*/                             // of 'virtual' drawing objects.
-/*N*/                             SwDrawContact* pDrawContact =
-/*N*/                                 static_cast<SwDrawContact*>(pO->GetUserCall());
-/*N*/                             if ( pDrawContact )
-/*N*/                             {
-/*N*/                                 pDrawContact->CorrectRelativePosOfVirtObjs();
-/*N*/                             }
-/*N*/                         }
-/*N*/                   }
-/*N*/               }
-/*N*/           }
-/*N*/       }
-/*N*/       if ( !bResetOnly )
-/*N*/           pLow->Calc();           //#55435# Stabil halten.
-/*N*/       pLow = pLow->GetNext();
-/*N*/   }
-/*N*/ }
-
-/*N*/ void MA_FASTCALL lcl_AddScrollRectTab( SwTabFrm *pTab, SwLayoutFrm *pRow,
-/*N*/                              const SwRect &rRect,
-/*N*/                              const SwTwips nOfst)
-/*N*/ {
-/*N*/   //Wenn altes oder neues Rechteck mit einem Fly ueberlappen, in dem der
-/*N*/   //Frm nicht selbst steht, so ist nichts mit Scrollen.
-/*N*/   const SwPageFrm *pPage = pTab->FindPageFrm();
-/*N*/   SwRect aRect( rRect );
-/*N*/     // <SWRECTFN( pTab )> not needed.
-/*N*/     if( pTab->IsVertical() )
-/*?*/         aRect.Pos().X() -= nOfst;
-/*N*/     else
-/*N*/   aRect.Pos().Y() += nOfst;
-/*N*/   if ( pPage->GetSortedObjs() )
-/*N*/   {
-/*N*/       if ( ::binfilter::lcl_IsOverObj( pTab, pPage, rRect, aRect, pTab ) )
-/*N*/           return;
-/*N*/   }
-/*N*/   if ( pPage->GetFmt()->GetBackground().GetGraphicPos() != GPOS_NONE )
-/*?*/       return;
-/*N*/
-/*N*/   ViewShell *pSh = pPage->GetShell();
-/*N*/   if ( pSh )
-/*N*/       pSh->AddScrollRect( pTab, aRect, nOfst );
-/*N*/   ::binfilter::lcl_ValidateLowers( pTab, nOfst, pRow, pTab->FindPageFrm(),
-/*N*/                                               pTab->IsLowersFormatted() );
-/*N*/ }
-
-// NOTE: no adjustments for vertical layout support necessary
-/*N*/ BOOL CheckPos( SwFrm* /*pFrm*/ )
-/*N*/ {DBG_BF_ASSERT(0, "STRIP");
-/*N*/   return TRUE;
-/*N*/ }
-
-// Implement vertical layout support
-/*N*/ BOOL SwLayAction::FormatLayoutTab( SwTabFrm *pTab, BOOL bAddRect )
-/*N*/ {
-/*N*/   OSL_ENSURE( !IsAgain(), "8-) Ungueltige Seite beachten." );
-/*N*/   if ( IsAgain() )
-/*?*/       return FALSE;
-/*N*/
-/*N*/   SwDoc* pDoc = pRoot->GetFmt()->GetDoc();
-/*N*/   const BOOL bOldIdle = pDoc->IsIdleTimerActive();
-/*N*/   pDoc->StopIdleTimer();
-/*N*/
-/*N*/     BOOL bChanged = FALSE;
-/*N*/   bool bPainted = FALSE;
-/*N*/
-/*N*/   const SwPageFrm *pOldPage = pTab->FindPageFrm();
-/*N*/
-/*N*/     // vertical layout support
-/*N*/     // use macro to declare and init <sal_Bool bVert>, <sal_Bool bRev> and
-/*N*/     // <SwRectFn fnRect> for table frame <pTab>.
-/*N*/     SWRECTFN( pTab );
-/*N*/
-/*N*/   if ( !pTab->IsValid() || pTab->IsCompletePaint() || pTab->IsComplete() )
-/*N*/   {
-/*N*/       if ( pTab->GetPrev() && !pTab->GetPrev()->IsValid() )
-/*N*/           pTab->GetPrev()->SetCompletePaint();
-/*N*/
-/*N*/       //Potenzielles Scrollrect ist die ganze Tabelle. Da bereits ein
-/*N*/       //Wachstum innerhalb der Tabelle - und damit der Tabelle selbst -
-/*N*/       //stattgefunden haben kann, muss die untere Kante durch die
-/*N*/       //Unterkante der letzten Zeile bestimmt werden.
-/*N*/       SwLayoutFrm *pRow = NULL;
-/*N*/       SwRect aScrollRect( pTab->PaintArea() );
-/*N*/       if ( IsPaint() || bAddRect )
-/*N*/       {
-/*N*/           pRow = (SwLayoutFrm*)pTab->Lower();
-/*N*/           while ( pRow->GetNext() )
-/*N*/               pRow = (SwLayoutFrm*)pRow->GetNext();
-/*N*/             // vertical layout support
-/*N*/             (aScrollRect.*fnRect->fnSetBottom)( (pRow->Frm().*fnRect->fnGetBottom)() );
-/*N*/           //Die Oberkante wird ggf. durch die erste unveraenderte Zeile bestimmt.
-/*N*/           pRow = ::binfilter::lcl_IsTabScrollable( pTab );
-/*N*/           if ( pRow && pRow != pTab->Lower() )
-/*N*/                 // vertical layout support
-/*N*/                 (aScrollRect.*fnRect->fnSetTop)( (pRow->Frm().*fnRect->fnGetTop)() );
-/*N*/       }
-/*N*/
-/*N*/       const SwFrm *pOldUp = pTab->GetUpper();
-/*N*/
-/*N*/       SwRect aOldRect( pTab->Frm() );
-/*N*/       pTab->SetLowersFormatted( FALSE );
-/*N*/       pTab->Calc();
-/*N*/       if ( aOldRect != pTab->Frm() )
-/*N*/           bChanged = TRUE;
-/*N*/       SwRect aPaintFrm = pTab->PaintArea();
-/*N*/
-/*N*/       if ( IsPaint() && bAddRect )
-/*N*/       {
-/*N*/           if ( pRow && pOldUp == pTab->GetUpper() &&
-/*N*/                pTab->Frm().SSize() == aOldRect.SSize() &&
-/*N*/                  // vertical layout support
-/*N*/                  (pTab->Frm().*fnRect->fnGetLeft)() == (aOldRect.*fnRect->fnGetLeft)() &&
-/*N*/                pTab->IsAnLower( pRow ) )
-/*N*/           {
-/*N*/               SwTwips nOfst;
-/*N*/               if ( pRow->GetPrev() )
-/*N*/               {
-/*N*/                   if ( pRow->GetPrev()->IsValid() ||
-/*N*/                        ::binfilter::CheckPos( pRow->GetPrev() ) )
-/*N*/                     {
-/*N*/                         // vertical layout support
-/*N*/                         nOfst = -(pRow->Frm().*fnRect->fnTopDist)( (pRow->GetPrev()->Frm().*fnRect->fnGetBottom)() );
-/*N*/                   }
-/*N*/               else
-/*N*/                       nOfst = 0;
-/*N*/               }
-/*N*/               else
-/*N*/                     // vertical layout support
-/*N*/                     nOfst = (pTab->Frm().*fnRect->fnTopDist)( (aOldRect.*fnRect->fnGetTop)() );
-/*N*/
-/*N*/               if ( nOfst )
-/*N*/               {
-/*N*/                    ::binfilter::lcl_AddScrollRectTab( pTab, pRow, aScrollRect, nOfst );
-/*N*/                    bPainted = TRUE;
-/*N*/               }
-/*N*/           }
-/*N*/
-/*N*/             // add condition <pTab->Frm().HasArea()>
-/*N*/             if ( !pTab->IsCompletePaint() && pTab->IsComplete() &&
-/*N*/                ( pTab->Frm().SSize() != pTab->Prt().SSize() ||
-/*N*/                    // vertical layout support
-/*N*/                    (pTab->*fnRect->fnGetLeftMargin)()
-/*N*/                  ) &&
-/*N*/                  pTab->Frm().HasArea()
-/*N*/                )
-/*N*/           {
-/*N*/                 // re-implement calculation of margin rectangles.
-/*N*/                 SwRect aMarginRect;
-/*N*/
-/*N*/                 SwTwips nLeftMargin = (pTab->*fnRect->fnGetLeftMargin)();
-/*N*/                 if ( nLeftMargin > 0)
-/*N*/                 {
-/*N*/                     aMarginRect = pTab->Frm();
-/*N*/                     (aMarginRect.*fnRect->fnSetWidth)( nLeftMargin );
-/*N*/                     pImp->GetShell()->AddPaintRect( aMarginRect );
-/*N*/                 }
-/*N*/
-/*N*/                 if ( (pTab->*fnRect->fnGetRightMargin)() > 0)
-/*N*/                 {
-/*N*/                     aMarginRect = pTab->Frm();
-/*N*/                     (aMarginRect.*fnRect->fnSetLeft)( (pTab->*fnRect->fnGetPrtRight)() );
-/*N*/                     pImp->GetShell()->AddPaintRect( aMarginRect );
-/*N*/                 }
-/*N*/
-/*N*/                 SwTwips nTopMargin = (pTab->*fnRect->fnGetTopMargin)();
-/*N*/                 if ( nTopMargin > 0)
-/*N*/                 {
-/*N*/                     aMarginRect = pTab->Frm();
-/*N*/                     (aMarginRect.*fnRect->fnSetHeight)( nTopMargin );
-/*N*/                     pImp->GetShell()->AddPaintRect( aMarginRect );
-/*N*/                 }
-/*N*/
-/*N*/                 if ( (pTab->*fnRect->fnGetBottomMargin)() > 0)
-/*N*/                 {
-/*N*/                     aMarginRect = pTab->Frm();
-/*N*/                     (aMarginRect.*fnRect->fnSetTop)( (pTab->*fnRect->fnGetPrtBottom)() );
-/*N*/                     pImp->GetShell()->AddPaintRect( aMarginRect );
-/*N*/                 }
-/*N*/           }
-/*N*/           else if ( pTab->IsCompletePaint() )
-/*N*/           {
-/*N*/               pImp->GetShell()->AddPaintRect( aPaintFrm );
-/*N*/               bAddRect = FALSE;
-/*N*/               bPainted = TRUE;
-/*N*/           }
-/*N*/
-/*N*/             if ( pTab->IsRetouche() && !pTab->GetNext() )
-/*N*/           {
-/*N*/               SwRect aRect( pTab->GetUpper()->PaintArea() );
-/*N*/                 // vertical layout support
-/*N*/                 (aRect.*fnRect->fnSetTop)( (pTab->*fnRect->fnGetPrtBottom)() );
-/*N*/                 if ( !pImp->GetShell()->AddPaintRect( aRect ) )
-/*N*/                   pTab->ResetRetouche();
-/*N*/           }
-/*N*/       }
-/*N*/       else
-/*N*/           bAddRect = FALSE;
-/*N*/
-/*N*/         if ( pTab->IsCompletePaint() && !pOptTab )
-/*N*/           pOptTab = pTab;
-/*N*/       pTab->ResetCompletePaint();
-/*N*/   }
-/*N*/   if ( IsPaint() && bAddRect && pTab->IsRetouche() && !pTab->GetNext() )
-/*N*/   {
-/*N*/         // set correct rectangle for retouche: area between bottom of table frame
-/*N*/         // and bottom of paint area of the upper frame.
-/*N*/         SwRect aRect( pTab->GetUpper()->PaintArea() );
-/*N*/         // vertical layout support
-/*N*/         (aRect.*fnRect->fnSetTop)( (pTab->*fnRect->fnGetPrtBottom)() );
-/*N*/       if ( !pImp->GetShell()->AddPaintRect( aRect ) )
-/*N*/           pTab->ResetRetouche();
-/*N*/   }
-/*N*/
-/*N*/   CheckWaitCrsr();
-/*N*/
-/*N*/   if ( bOldIdle )
-/*N*/       pDoc->StartIdleTimer();
-/*N*/
-/*N*/   //Heftige Abkuerzung!
-/*N*/   if ( pTab->IsLowersFormatted() &&
-/*N*/          (bPainted || !pImp->GetShell()->VisArea().IsOver( pTab->Frm())) )
-/*N*/       return FALSE;
-/*N*/
-/*N*/   //Jetzt noch die Lowers versorgen
-/*N*/   if ( IsAgain() )
-/*N*/       return FALSE;
-/*N*/   SwLayoutFrm *pLow = (SwLayoutFrm*)pTab->Lower();
-/*N*/   while ( pLow )
-/*N*/   {
-/*N*/       bChanged |= FormatLayout( (SwLayoutFrm*)pLow, bAddRect );
-/*N*/       if ( IsAgain() )
-/*N*/           return FALSE;

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list