[Libreoffice-commits] core.git: sw/source

Armin Le Grand Armin.Le.Grand at cib.de
Tue Oct 31 09:45:15 UTC 2017


 sw/source/core/access/acccontext.cxx                                |    4 
 sw/source/core/access/accfrmobj.cxx                                 |   12 
 sw/source/core/access/acctable.cxx                                  |   42 -
 sw/source/core/crsr/callnk.cxx                                      |    2 
 sw/source/core/crsr/crsrsh.cxx                                      |   30 
 sw/source/core/crsr/crstrvl.cxx                                     |   22 
 sw/source/core/crsr/swcrsr.cxx                                      |   15 
 sw/source/core/crsr/trvlcol.cxx                                     |    6 
 sw/source/core/crsr/trvlfnfl.cxx                                    |   10 
 sw/source/core/crsr/trvltbl.cxx                                     |    6 
 sw/source/core/crsr/viscrs.cxx                                      |   12 
 sw/source/core/doc/DocumentDrawModelManager.cxx                     |    2 
 sw/source/core/doc/doc.cxx                                          |    2 
 sw/source/core/doc/docfly.cxx                                       |   16 
 sw/source/core/doc/htmltbl.cxx                                      |    8 
 sw/source/core/doc/notxtfrm.cxx                                     |   63 -
 sw/source/core/doc/tblrwcl.cxx                                      |   16 
 sw/source/core/docnode/ndtbl.cxx                                    |   50 -
 sw/source/core/docnode/ndtbl1.cxx                                   |   74 -
 sw/source/core/docnode/node.cxx                                     |   18 
 sw/source/core/draw/dflyobj.cxx                                     |   42 -
 sw/source/core/draw/dpage.cxx                                       |   12 
 sw/source/core/draw/dview.cxx                                       |    2 
 sw/source/core/edit/autofmt.cxx                                     |   17 
 sw/source/core/edit/edattr.cxx                                      |    4 
 sw/source/core/edit/editsh.cxx                                      |    2 
 sw/source/core/fields/expfld.cxx                                    |    6 
 sw/source/core/fields/postithelper.cxx                              |    8 
 sw/source/core/fields/reffld.cxx                                    |   48 -
 sw/source/core/frmedt/fecopy.cxx                                    |   20 
 sw/source/core/frmedt/fedesc.cxx                                    |    2 
 sw/source/core/frmedt/fefly1.cxx                                    |   52 -
 sw/source/core/frmedt/feshview.cxx                                  |   98 +-
 sw/source/core/frmedt/fetab.cxx                                     |   66 -
 sw/source/core/frmedt/fews.cxx                                      |  130 +--
 sw/source/core/frmedt/tblsel.cxx                                    |  207 ++--
 sw/source/core/inc/flyfrms.hxx                                      |    2 
 sw/source/core/inc/frame.hxx                                        |  133 ++-
 sw/source/core/inc/frmtool.hxx                                      |    2 
 sw/source/core/layout/anchoreddrawobject.cxx                        |   12 
 sw/source/core/layout/anchoredobject.cxx                            |   12 
 sw/source/core/layout/atrfrm.cxx                                    |   14 
 sw/source/core/layout/calcmove.cxx                                  |  396 +++++----
 sw/source/core/layout/colfrm.cxx                                    |   18 
 sw/source/core/layout/dbg_lay.cxx                                   |   30 
 sw/source/core/layout/findfrm.cxx                                   |   20 
 sw/source/core/layout/flowfrm.cxx                                   |   14 
 sw/source/core/layout/fly.cxx                                       |  167 ++-
 sw/source/core/layout/flycnt.cxx                                    |  208 ++--
 sw/source/core/layout/flyincnt.cxx                                  |   44 -
 sw/source/core/layout/flylay.cxx                                    |  173 ++--
 sw/source/core/layout/frmtool.cxx                                   |  150 +--
 sw/source/core/layout/ftnfrm.cxx                                    |  114 +-
 sw/source/core/layout/hffrm.cxx                                     |   95 +-
 sw/source/core/layout/layact.cxx                                    |  155 +--
 sw/source/core/layout/laycache.cxx                                  |   30 
 sw/source/core/layout/layouter.cxx                                  |   12 
 sw/source/core/layout/newfrm.cxx                                    |    6 
 sw/source/core/layout/objectformatter.cxx                           |    2 
 sw/source/core/layout/objectformattertxtfrm.cxx                     |    2 
 sw/source/core/layout/pagechg.cxx                                   |  130 +--
 sw/source/core/layout/paintfrm.cxx                                  |  178 ++--
 sw/source/core/layout/sectfrm.cxx                                   |  147 +--
 sw/source/core/layout/ssfrm.cxx                                     |  124 +-
 sw/source/core/layout/tabfrm.cxx                                    |  416 +++++----
 sw/source/core/layout/trvlfrm.cxx                                   |  128 +--
 sw/source/core/layout/wsfrm.cxx                                     |  418 +++++-----
 sw/source/core/objectpositioning/anchoredobjectposition.cxx         |  144 +--
 sw/source/core/objectpositioning/ascharanchoredobjectposition.cxx   |    4 
 sw/source/core/objectpositioning/tocntntanchoredobjectposition.cxx  |   12 
 sw/source/core/objectpositioning/tolayoutanchoredobjectposition.cxx |    4 
 sw/source/core/ole/ndole.cxx                                        |    2 
 sw/source/core/table/swtable.cxx                                    |   10 
 sw/source/core/text/EnhancedPDFExportHelper.cxx                     |   18 
 sw/source/core/text/frmcrsr.cxx                                     |   56 -
 sw/source/core/text/frmform.cxx                                     |  158 +--
 sw/source/core/text/frminf.cxx                                      |   10 
 sw/source/core/text/frmpaint.cxx                                    |   40 
 sw/source/core/text/itrcrsr.cxx                                     |   34 
 sw/source/core/text/itrform2.cxx                                    |   24 
 sw/source/core/text/itrpaint.cxx                                    |    4 
 sw/source/core/text/itrtxt.cxx                                      |    2 
 sw/source/core/text/porfly.cxx                                      |    8 
 sw/source/core/text/pormulti.cxx                                    |    4 
 sw/source/core/text/porrst.cxx                                      |   18 
 sw/source/core/text/txtdrop.cxx                                     |    4 
 sw/source/core/text/txtfly.cxx                                      |   32 
 sw/source/core/text/txtfrm.cxx                                      |  200 ++--
 sw/source/core/text/txtftn.cxx                                      |   34 
 sw/source/core/text/txtio.cxx                                       |    4 
 sw/source/core/text/txttab.cxx                                      |   12 
 sw/source/core/text/widorp.cxx                                      |   12 
 sw/source/core/text/xmldump.cxx                                     |   22 
 sw/source/core/unocore/unoframe.cxx                                 |    4 
 sw/source/core/unocore/unotbl.cxx                                   |    2 
 sw/source/core/view/pagepreviewlayout.cxx                           |   10 
 sw/source/core/view/vdraw.cxx                                       |    6 
 sw/source/core/view/viewimp.cxx                                     |   12 
 sw/source/core/view/viewpg.cxx                                      |   16 
 sw/source/core/view/viewsh.cxx                                      |   38 
 sw/source/core/view/vprint.cxx                                      |   10 
 sw/source/uibase/docvw/FrameControlsManager.cxx                     |    2 
 sw/source/uibase/docvw/PageBreakWin.cxx                             |    6 
 sw/source/uibase/uno/unotxdoc.cxx                                   |    2 
 104 files changed, 2822 insertions(+), 2636 deletions(-)

New commits:
commit f55a9b77b8bfe6fc5e0fbceb0c89aed66660e107
Author: Armin Le Grand <Armin.Le.Grand at cib.de>
Date:   Mon Oct 30 21:30:32 2017 +0100

    RotateFlyFrame2: Unified FrameAreaDefinition
    
    Isolated all Frame AreaDefinition and it's layout flags to
    SwFrameAreaDefinition class which is now base for SwFrame.
    Adapted calls to get/set and WriteAccess hekper classes accordingly.
    This allows much deeper understanding what Writer is doing when
    layouting it's frames and needed when reaction on such changes
    is necessary
    
    Change-Id: I96220a1d140e69c76cc63023aae26e4ed17f3504

diff --git a/sw/source/core/access/acccontext.cxx b/sw/source/core/access/acccontext.cxx
index 5e56fa85ff44..fd5356d333fa 100644
--- a/sw/source/core/access/acccontext.cxx
+++ b/sw/source/core/access/acccontext.cxx
@@ -1123,7 +1123,7 @@ void SwAccessibleContext::InvalidatePosOrSize( const SwRect& )
 {
     SolarMutexGuard aGuard;
 
-    OSL_ENSURE( GetFrame() && !GetFrame()->getSwFrame().IsEmpty(), "context should have a size" );
+    OSL_ENSURE( GetFrame() && !GetFrame()->getFrameArea().IsEmpty(), "context should have a size" );
 
     bool bIsOldShowingState;
     bool bIsNewShowingState = IsShowing( *(GetMap()) );
@@ -1170,7 +1170,7 @@ void SwAccessibleContext::InvalidateChildPosOrSize(
     // this happens during layout, e.g. when a page is deleted and next page's
     // header/footer moves backward such an event is generated
     SAL_INFO_IF(rChildFrameOrObj.GetSwFrame() &&
-            rChildFrameOrObj.GetSwFrame()->getSwFrame().IsEmpty(),
+            rChildFrameOrObj.GetSwFrame()->getFrameArea().IsEmpty(),
             "sw.a11y", "child context should have a size");
 
     if ( rChildFrameOrObj.AlwaysIncludeAsChild() )
diff --git a/sw/source/core/access/accfrmobj.cxx b/sw/source/core/access/accfrmobj.cxx
index f233263694ea..00f8c244893f 100644
--- a/sw/source/core/access/accfrmobj.cxx
+++ b/sw/source/core/access/accfrmobj.cxx
@@ -243,16 +243,16 @@ SwRect SwAccessibleChild::GetBox( const SwAccessibleMap& rAccMap ) const
         if ( mpFrame->IsPageFrame() &&
              static_cast< const SwPageFrame * >( mpFrame )->IsEmptyPage() )
         {
-            aBox = SwRect( mpFrame->getSwFrame().Left(), mpFrame->getSwFrame().Top()-1, 1, 1 );
+            aBox = SwRect( mpFrame->getFrameArea().Left(), mpFrame->getFrameArea().Top()-1, 1, 1 );
         }
         else if ( mpFrame->IsTabFrame() )
         {
-            aBox = SwRect( mpFrame->getSwFrame() );
-            aBox.Intersection( mpFrame->GetUpper()->getSwFrame() );
+            aBox = SwRect( mpFrame->getFrameArea() );
+            aBox.Intersection( mpFrame->GetUpper()->getFrameArea() );
         }
         else
         {
-            aBox = mpFrame->getSwFrame();
+            aBox = mpFrame->getFrameArea();
         }
     }
     else if( mpDrawObj )
@@ -268,7 +268,7 @@ SwRect SwAccessibleChild::GetBox( const SwAccessibleMap& rAccMap ) const
         {
             aBox = SwRect( mpDrawObj->GetCurrentBoundRect() );
             // tdf#91260 drawing object may be partially off-page
-            aBox.Intersection(pPage->getSwFrame());
+            aBox.Intersection(pPage->getFrameArea());
         }
     }
     else if ( mpWindow )
@@ -294,7 +294,7 @@ SwRect SwAccessibleChild::GetBounds( const SwAccessibleMap& rAccMap ) const
         if( mpFrame->IsPageFrame() &&
             static_cast< const SwPageFrame * >( mpFrame )->IsEmptyPage() )
         {
-            aBound = SwRect( mpFrame->getSwFrame().Left(), mpFrame->getSwFrame().Top()-1, 0, 0 );
+            aBound = SwRect( mpFrame->getFrameArea().Left(), mpFrame->getFrameArea().Top()-1, 0, 0 );
         }
         else
             aBound = mpFrame->PaintArea();
diff --git a/sw/source/core/access/acctable.cxx b/sw/source/core/access/acctable.cxx
index 0abbc829a8cf..beefc840863b 100644
--- a/sw/source/core/access/acctable.cxx
+++ b/sw/source/core/access/acctable.cxx
@@ -156,14 +156,14 @@ void SwAccessibleTableData_Impl::CollectData( const SwFrame *pFrame )
                 // #i77106#
                 if ( IncludeRow( *pLower ) )
                 {
-                    maRows.insert( pLower->getSwFrame().Top() - maTabFramePos.getY() );
+                    maRows.insert( pLower->getFrameArea().Top() - maTabFramePos.getY() );
                     CollectData( pLower );
                 }
             }
             else if( pLower->IsCellFrame() &&
                      rLower.IsAccessible( mbIsInPagePreview ) )
             {
-                maColumns.insert( pLower->getSwFrame().Left() - maTabFramePos.getX() );
+                maColumns.insert( pLower->getFrameArea().Left() - maTabFramePos.getX() );
             }
             else
             {
@@ -196,7 +196,7 @@ void SwAccessibleTableData_Impl::CollectRowHeaderData( const SwFrame *pFrame )
                 //if(mpTabFrame->GetTable()->GetTabLines()[ 0 ] != pLine)
                 //return ;
 
-                maRows.insert( pLower->getSwFrame().Top() - maTabFramePos.Y() );
+                maRows.insert( pLower->getFrameArea().Top() - maTabFramePos.Y() );
 
                 CollectRowHeaderData( pLower );
 
@@ -206,7 +206,7 @@ void SwAccessibleTableData_Impl::CollectRowHeaderData( const SwFrame *pFrame )
             {
                 //Added by yanjun. Can't find the "GetRowHeaderFlag" function (need verify).
                 //if(static_cast<SwCellFrame*>(pLower)->GetRowHeaderFlag())
-                //  maColumns.insert( pLower->getSwFrame().Left() - maTabFramePos.X() );
+                //  maColumns.insert( pLower->getFrameArea().Left() - maTabFramePos.X() );
             }
             else
             {
@@ -244,7 +244,7 @@ void SwAccessibleTableData_Impl::CollectColumnHeaderData( const SwFrame *pFrame
                 if(iCurrentRowIndex >= mpTabFrame->GetTable()->GetRowsToRepeat_())
                     return ;
 
-                maRows.insert( pLower->getSwFrame().Top() - maTabFramePos.Y() );
+                maRows.insert( pLower->getFrameArea().Top() - maTabFramePos.Y() );
 
                 CollectColumnHeaderData( pLower );
 
@@ -252,7 +252,7 @@ void SwAccessibleTableData_Impl::CollectColumnHeaderData( const SwFrame *pFrame
             else if( pLower->IsCellFrame() &&
                      rLower.IsAccessible( mbIsInPagePreview ) )
             {
-                maColumns.insert( pLower->getSwFrame().Left() - maTabFramePos.X() );
+                maColumns.insert( pLower->getFrameArea().Left() - maTabFramePos.X() );
             }
             else
             {
@@ -279,7 +279,7 @@ void SwAccessibleTableData_Impl::CollectExtents( const SwFrame *pFrame )
             {
                 sal_Int32 nRow, nCol;
                 Int32Pair_Impl aCellExtents;
-                GetRowColumnAndExtent( pLower->getSwFrame(), nRow, nCol,
+                GetRowColumnAndExtent( pLower->getFrameArea(), nRow, nCol,
                                        aCellExtents.first,
                                        aCellExtents.second );
 
@@ -318,7 +318,7 @@ bool SwAccessibleTableData_Impl::FindCell(
             if( rLower.IsAccessible( mbIsInPagePreview ) )
             {
                 OSL_ENSURE( pLower->IsCellFrame(), "lower is not a cell frame" );
-                const SwRect& rFrame = pLower->getSwFrame();
+                const SwRect& rFrame = pLower->getFrameArea();
                 if( rFrame.Right() >= rPos.X() && rFrame.Bottom() >= rPos.Y() )
                 {
                     // We have found the cell
@@ -432,7 +432,7 @@ void SwAccessibleTableData_Impl::GetSelection(
                           SwAccTableSelHander_Impl& rSelHdl,
                        bool bColumns ) const
 {
-    SwRect aArea( mpTabFrame->getSwFrame() );
+    SwRect aArea( mpTabFrame->getFrameArea() );
     Point aPos( aArea.Pos() );
 
     const Int32Set_Impl& rRowsOrColumns = bColumns ? maColumns : maRows;
@@ -463,7 +463,7 @@ void SwAccessibleTableData_Impl::GetSelection(
 const SwFrame *SwAccessibleTableData_Impl::GetCellAtPos(
         sal_Int32 nLeft, sal_Int32 nTop ) const
 {
-    Point aPos( mpTabFrame->getSwFrame().Pos() );
+    Point aPos( mpTabFrame->getFrameArea().Pos() );
     aPos.Move( nLeft, nTop );
     const SwFrame *pRet = nullptr;
     FindCell( aPos, mpTabFrame, false/*bExact*/, pRet );
@@ -497,7 +497,7 @@ SwAccessibleTableData_Impl::SwAccessibleTableData_Impl( SwAccessibleMap& rAccMap
                                                         bool bIsInPagePreview,
                                                         bool bOnlyTableColumnHeader )
     : mrAccMap( rAccMap )
-    , maTabFramePos( pTabFrame->getSwFrame().Pos() )
+    , maTabFramePos( pTabFrame->getFrameArea().Pos() )
     , mpTabFrame( pTabFrame )
     , mbIsInPagePreview( bIsInPagePreview )
     , mbOnlyTableColumnHeader( bOnlyTableColumnHeader )
@@ -1016,8 +1016,8 @@ sal_Int32 SAL_CALL SwAccessibleTable::getAccessibleRowExtentAt(
     const SwFrame *pCellFrame = GetTableData().GetCellAtPos( *aSttCol, *aSttRow );
     if( pCellFrame )
     {
-        sal_Int32 nBottom = pCellFrame->getSwFrame().Bottom();
-        nBottom -= GetFrame()->getSwFrame().Top();
+        sal_Int32 nBottom = pCellFrame->getFrameArea().Bottom();
+        nBottom -= GetFrame()->getFrameArea().Top();
         Int32Set_Impl::const_iterator aEndRow(
                 GetTableData().GetRows().upper_bound( nBottom ) );
         nExtend =
@@ -1046,8 +1046,8 @@ sal_Int32 SAL_CALL SwAccessibleTable::getAccessibleColumnExtentAt(
     const SwFrame *pCellFrame = GetTableData().GetCellAtPos( *aSttCol, *aSttRow );
     if( pCellFrame )
     {
-        sal_Int32 nRight = pCellFrame->getSwFrame().Right();
-        nRight -= GetFrame()->getSwFrame().Left();
+        sal_Int32 nRight = pCellFrame->getFrameArea().Right();
+        nRight -= GetFrame()->getFrameArea().Left();
         Int32Set_Impl::const_iterator aEndCol(
                 GetTableData().GetColumns().upper_bound( nRight ) );
         nExtend =
@@ -1271,8 +1271,8 @@ sal_Int32 SAL_CALL SwAccessibleTable::getAccessibleRow( sal_Int32 nChildIndex )
     SwAccessibleChild aCell( GetChild( *(GetMap()), nChildIndex ) );
     if ( aCell.GetSwFrame()  )
     {
-        sal_Int32 nTop = aCell.GetSwFrame()->getSwFrame().Top();
-        nTop -= GetFrame()->getSwFrame().Top();
+        sal_Int32 nTop = aCell.GetSwFrame()->getFrameArea().Top();
+        nTop -= GetFrame()->getFrameArea().Top();
         Int32Set_Impl::const_iterator aRow(
                 GetTableData().GetRows().lower_bound( nTop ) );
         nRet = static_cast< sal_Int32 >( std::distance(
@@ -1308,8 +1308,8 @@ sal_Int32 SAL_CALL SwAccessibleTable::getAccessibleColumn(
     SwAccessibleChild aCell( GetChild( *(GetMap()), nChildIndex ) );
     if ( aCell.GetSwFrame()  )
     {
-        sal_Int32 nLeft = aCell.GetSwFrame()->getSwFrame().Left();
-        nLeft -= GetFrame()->getSwFrame().Left();
+        sal_Int32 nLeft = aCell.GetSwFrame()->getFrameArea().Left();
+        nLeft -= GetFrame()->getFrameArea().Left();
         Int32Set_Impl::const_iterator aCol(
                 GetTableData().GetColumns().lower_bound( nLeft ) );
         nRet = static_cast< sal_Int32 >( std::distance(
@@ -1359,7 +1359,7 @@ void SwAccessibleTable::InvalidatePosOrSize( const SwRect& rOldBox )
         FireTableChangeEvent(*mpTableData);
     }
     if( HasTableData() )
-        GetTableData().SetTablePos( GetFrame()->getSwFrame().Pos() );
+        GetTableData().SetTablePos( GetFrame()->getFrameArea().Pos() );
 
     SwAccessibleContext::InvalidatePosOrSize( rOldBox );
 }
@@ -1405,7 +1405,7 @@ void SwAccessibleTable::InvalidateChildPosOrSize( const SwAccessibleChild& rChil
     if( HasTableData() )
     {
         SAL_WARN_IF( HasTableData() &&
-                GetFrame()->getSwFrame().Pos() != GetTableData().GetTablePos(),
+                GetFrame()->getFrameArea().Pos() != GetTableData().GetTablePos(),
                 "sw.a11y", "table has invalid position" );
         if( HasTableData() )
         {
diff --git a/sw/source/core/crsr/callnk.cxx b/sw/source/core/crsr/callnk.cxx
index d8619067377a..f62093e3f90a 100644
--- a/sw/source/core/crsr/callnk.cxx
+++ b/sw/source/core/crsr/callnk.cxx
@@ -230,7 +230,7 @@ long SwCallLink::getLayoutFrame( const SwRootFrame* pRoot, SwTextNode const & rN
                     nCntPos >= pNext->GetOfst() )
                 pFrame = pNext;
 
-        return pFrame->getSwFrame().Left();
+        return pFrame->getFrameArea().Left();
     }
     return 0;
 }
diff --git a/sw/source/core/crsr/crsrsh.cxx b/sw/source/core/crsr/crsrsh.cxx
index 27e6bbecf45a..667b49d789ed 100644
--- a/sw/source/core/crsr/crsrsh.cxx
+++ b/sw/source/core/crsr/crsrsh.cxx
@@ -770,7 +770,7 @@ int SwCursorShell::SetCursor( const Point &rLPt, bool bOnlyText, bool bBlock )
         {
             if( pFrame )
             {
-                if( pFrame->getSwFrame().IsInside( rAktCursorPt ))
+                if( pFrame->getFrameArea().IsInside( rAktCursorPt ))
                     return bRet;
             }
             else if( aPos.nNode.GetNode().IsContentNode() )
@@ -789,7 +789,7 @@ int SwCursorShell::SetCursor( const Point &rLPt, bool bOnlyText, bool bBlock )
     {
         // SSelection over not allowed sections or if in header/footer -> different
         if( !CheckNodesRange( aPos.nNode, pCursor->GetMark()->nNode, true )
-            || ( pFrame && !pFrame->getSwFrame().IsInside( pCursor->GetMkPos() ) ))
+            || ( pFrame && !pFrame->getFrameArea().IsInside( pCursor->GetMkPos() ) ))
             return bRet;
 
         // is at same position but not in header/footer
@@ -1117,7 +1117,7 @@ sal_uInt16 SwCursorShell::GetNextPrevPageNum( bool bNext )
     const SwPageFrame *pPg = Imp()->GetFirstVisPage(GetOut());
     if( pPg )
     {
-        const SwTwips nPageTop = pPg->getSwFrame().Top();
+        const SwTwips nPageTop = pPg->getFrameArea().Top();
 
         if( bNext )
         {
@@ -1126,7 +1126,7 @@ sal_uInt16 SwCursorShell::GetNextPrevPageNum( bool bNext )
             {
                 pPg = static_cast<const SwPageFrame *>(pPg->GetNext());
             }
-            while( pPg && pPg->getSwFrame().Top() == nPageTop );
+            while( pPg && pPg->getFrameArea().Top() == nPageTop );
 
             while( pPg && pPg->IsEmptyPage() )
                 pPg = static_cast<const SwPageFrame *>(pPg->GetNext());
@@ -1138,7 +1138,7 @@ sal_uInt16 SwCursorShell::GetNextPrevPageNum( bool bNext )
             {
                 pPg = static_cast<const SwPageFrame *>(pPg->GetPrev());
             }
-            while( pPg && pPg->getSwFrame().Top() == nPageTop );
+            while( pPg && pPg->getFrameArea().Top() == nPageTop );
 
             while( pPg && pPg->IsEmptyPage() )
                 pPg = static_cast<const SwPageFrame *>(pPg->GetPrev());
@@ -1162,13 +1162,13 @@ OUString SwCursorShell::getPageRectangles()
     OUStringBuffer aBuf;
     for (const SwFrame* pFrame = pLayout->GetLower(); pFrame; pFrame = pFrame->GetNext())
     {
-        aBuf.append(pFrame->getSwFrame().Left());
+        aBuf.append(pFrame->getFrameArea().Left());
         aBuf.append(", ");
-        aBuf.append(pFrame->getSwFrame().Top());
+        aBuf.append(pFrame->getFrameArea().Top());
         aBuf.append(", ");
-        aBuf.append(pFrame->getSwFrame().Width());
+        aBuf.append(pFrame->getFrameArea().Width());
         aBuf.append(", ");
-        aBuf.append(pFrame->getSwFrame().Height());
+        aBuf.append(pFrame->getFrameArea().Height());
         aBuf.append("; ");
     }
     if (!aBuf.isEmpty())
@@ -1561,8 +1561,8 @@ void SwCursorShell::UpdateCursor( sal_uInt16 eFlags, bool bIdleEnd )
                 SwFrame* pBoxFrame = pTableFrame;
                 while( pBoxFrame && !pBoxFrame->IsCellFrame() )
                     pBoxFrame = pBoxFrame->GetUpper();
-                if( pBoxFrame && pBoxFrame->getSwFrame().HasArea() )
-                    MakeVisible( pBoxFrame->getSwFrame() );
+                if( pBoxFrame && pBoxFrame->getFrameArea().HasArea() )
+                    MakeVisible( pBoxFrame->getFrameArea() );
                 else
                     MakeVisible( m_aCharRect );
             }
@@ -1807,8 +1807,8 @@ void SwCursorShell::UpdateCursor( sal_uInt16 eFlags, bool bIdleEnd )
             DisableCallbackAction a(*GetLayout());
             pFrame->Calc(GetOut());
             m_nUpDownX = pFrame->IsVertical() ?
-                       m_aCharRect.Top() - pFrame->getSwFrame().Top() :
-                       m_aCharRect.Left() - pFrame->getSwFrame().Left();
+                       m_aCharRect.Top() - pFrame->getFrameArea().Top() :
+                       m_aCharRect.Left() - pFrame->getFrameArea().Left();
         }
 
         // scroll Cursor to visible area
@@ -1893,9 +1893,9 @@ void SwCursorShell::RefreshBlockCursor()
         if( pFrame )
         {
             if( pFrame->IsVertical() )
-                aPt.setY(pFrame->getSwFrame().Top() + GetUpDownX());
+                aPt.setY(pFrame->getFrameArea().Top() + GetUpDownX());
             else
-                aPt.setX(pFrame->getSwFrame().Left() + GetUpDownX());
+                aPt.setX(pFrame->getFrameArea().Left() + GetUpDownX());
         }
         aMk = rBlock.GetMkPos();
     }
diff --git a/sw/source/core/crsr/crstrvl.cxx b/sw/source/core/crsr/crstrvl.cxx
index 01c3ac4c42e1..fae0f3e69a04 100644
--- a/sw/source/core/crsr/crstrvl.cxx
+++ b/sw/source/core/crsr/crstrvl.cxx
@@ -90,12 +90,12 @@ void SwCursorShell::MoveCursorToNum()
     if( pFrame->IsVertical() )
     {
         aPt.setX(m_aCharRect.Center().getX());
-        aPt.setY(pFrame->getSwFrame().Top() + GetUpDownX());
+        aPt.setY(pFrame->getFrameArea().Top() + GetUpDownX());
     }
     else
     {
         aPt.setY(m_aCharRect.Center().getY());
-        aPt.setX(pFrame->getSwFrame().Left() + GetUpDownX());
+        aPt.setX(pFrame->getFrameArea().Left() + GetUpDownX());
     }
     pFrame->GetCursorOfst( m_pCurrentCursor->GetPoint(), aPt );
     if ( !m_pCurrentCursor->IsSelOvr( SwCursorSelOverFlags::Toggle |
@@ -142,7 +142,7 @@ bool SwCursorShell::GotoHeaderText()
         SwCursor *pTmpCursor = getShellCursor( true );
         SwCursorSaveState aSaveState( *pTmpCursor );
         pFrame->Calc(GetOut());
-        Point aPt( pFrame->getSwFrame().Pos() + pFrame->getSwPrint().Pos() );
+        Point aPt( pFrame->getFrameArea().Pos() + pFrame->getFramePrintArea().Pos() );
         pFrame->GetCursorOfst( pTmpCursor->GetPoint(), aPt );
         if( !pTmpCursor->IsSelOvr() )
             UpdateCursor();
@@ -174,7 +174,7 @@ bool SwCursorShell::GotoFooterText()
             SwCallLink aLk( *this ); // watch Cursor-Moves
             SwCursorSaveState aSaveState( *pTmpCursor );
             pLower->Calc(GetOut());
-            Point aPt( pLower->getSwFrame().Pos() + pLower->getSwPrint().Pos() );
+            Point aPt( pLower->getFrameArea().Pos() + pLower->getFramePrintArea().Pos() );
             pLower->GetCursorOfst( pTmpCursor->GetPoint(), aPt );
             if( !pTmpCursor->IsSelOvr() )
                 UpdateCursor();
@@ -1443,8 +1443,8 @@ bool SwCursorShell::GetContentAtPos( const Point& rPt,
                                 pFrame->GetCharRect(aEnd, aEndPos, &aTmpState);
                                 if (aStart.Top() != aEnd.Top() || aStart.Bottom() != aEnd.Bottom())
                                 {
-                                    aStart.Left(pFrame->getSwFrame().Left());
-                                    aEnd.Right(pFrame->getSwFrame().Right());
+                                    aStart.Left(pFrame->getFrameArea().Left());
+                                    aEnd.Right(pFrame->getFrameArea().Right());
                                 }
                                 *pFieldRect = aStart.Union(aEnd);
                             }
@@ -1471,8 +1471,8 @@ bool SwCursorShell::GetContentAtPos( const Point& rPt,
                             pFrame->GetCharRect(aEnd, *pRedl->End(), &aTmpState);
                             if (aStart.Top() != aEnd.Top() || aStart.Bottom() != aEnd.Bottom())
                             {
-                                aStart.Left(pFrame->getSwFrame().Left());
-                                aEnd.Right(pFrame->getSwFrame().Right());
+                                aStart.Left(pFrame->getFrameArea().Left());
+                                aEnd.Right(pFrame->getFrameArea().Right());
                             }
                             *pFieldRect = aStart.Union(aEnd);
                         }
@@ -1516,7 +1516,7 @@ bool SwCursorShell::GetContentAtPos( const Point& rPt,
 
                     if( aTmpState.m_bPosCorr )
                     {
-                        if( pF && !pF->getSwFrame().IsInside( aPt ))
+                        if( pF && !pF->getFrameArea().IsInside( aPt ))
                             pF = nullptr;
                     }
                     else if( !pF )
@@ -1551,8 +1551,8 @@ bool SwCursorShell::GetContentAtPos( const Point& rPt,
                         {
                             if( pFieldRect )
                             {
-                                *pFieldRect = pF->getSwPrint();
-                                *pFieldRect += pF->getSwFrame().Pos();
+                                *pFieldRect = pF->getFramePrintArea();
+                                *pFieldRect += pF->getFrameArea().Pos();
                             }
                             rContentAtPos.pFndTextAttr = nullptr;
                             rContentAtPos.aFnd.pAttr = pItem;
diff --git a/sw/source/core/crsr/swcrsr.cxx b/sw/source/core/crsr/swcrsr.cxx
index a3b08fcf80f1..973880821359 100644
--- a/sw/source/core/crsr/swcrsr.cxx
+++ b/sw/source/core/crsr/swcrsr.cxx
@@ -338,14 +338,15 @@ bool SwCursor::IsSelOvr( SwCursorSelOverFlags eFlags )
     {
         const SwContentFrame* pFrame = static_cast<const SwContentNode*>(pNd)->getLayoutFrame( pDoc->getIDocumentLayoutAccess().GetCurrentLayout() );
         if ( (SwCursorSelOverFlags::ChangePos & eFlags)   //allowed to change position if it's a bad one
-            && pFrame && pFrame->IsValid() && !pFrame->getSwFrame().Height()     //a bad zero height position
+            && pFrame && pFrame->isFrameAreaDefinitionValid()
+            && !pFrame->getFrameArea().Height()     //a bad zero height position
             && !InputFieldAtPos(GetPoint()) )                       //unless it's a (vertical) input field
         {
             // skip to the next/prev valid paragraph with a layout
             SwNodeIndex& rPtIdx = GetPoint()->nNode;
             bool bGoNxt = m_pSavePos->nNode < rPtIdx.GetIndex();
             while( nullptr != ( pFrame = ( bGoNxt ? pFrame->GetNextContentFrame() : pFrame->GetPrevContentFrame() ))
-                   && 0 == pFrame->getSwFrame().Height() )
+                   && 0 == pFrame->getFrameArea().Height() )
                 ;
 
             // #i72394# skip to prev/next valid paragraph with a layout in case
@@ -354,7 +355,7 @@ bool SwCursor::IsSelOvr( SwCursorSelOverFlags eFlags )
             {
                 bGoNxt = !bGoNxt;
                 pFrame = static_cast<const SwContentNode*>(pNd)->getLayoutFrame( pDoc->getIDocumentLayoutAccess().GetCurrentLayout() );
-                while ( pFrame && 0 == pFrame->getSwFrame().Height() )
+                while ( pFrame && 0 == pFrame->getFrameArea().Height() )
                 {
                     pFrame = bGoNxt ? pFrame->GetNextContentFrame()
                         :   pFrame->GetPrevContentFrame();
@@ -1800,8 +1801,8 @@ bool SwCursor::UpDown( bool bUp, sal_uInt16 nCnt,
             aPt = aTmpRect.Pos();
 
             nUpDownX = pFrame->IsVertical() ?
-                aPt.getY() - pFrame->getSwFrame().Top() :
-                aPt.getX() - pFrame->getSwFrame().Left();
+                aPt.getY() - pFrame->getFrameArea().Top() :
+                aPt.getX() - pFrame->getFrameArea().Left();
         }
 
         // It is allowed to move footnotes in other footnotes but not sections
@@ -1853,13 +1854,13 @@ bool SwCursor::UpDown( bool bUp, sal_uInt16 nCnt,
                 {
                     aPt.setX(aTmpRect.Center().getX());
                     pFrame->Calc(pFrame->getRootFrame()->GetCurrShell()->GetOut());
-                    aPt.setY(pFrame->getSwFrame().Top() + nUpDownX);
+                    aPt.setY(pFrame->getFrameArea().Top() + nUpDownX);
                 }
                 else
                 {
                     aPt.setY(aTmpRect.Center().getY());
                     pFrame->Calc(pFrame->getRootFrame()->GetCurrShell()->GetOut());
-                    aPt.setX(pFrame->getSwFrame().Left() + nUpDownX);
+                    aPt.setX(pFrame->getFrameArea().Left() + nUpDownX);
                 }
                 pFrame->GetCursorOfst( GetPoint(), aPt, &eTmpState );
             }
diff --git a/sw/source/core/crsr/trvlcol.cxx b/sw/source/core/crsr/trvlcol.cxx
index 9f5bfd1d1def..8e4f469428fb 100644
--- a/sw/source/core/crsr/trvlcol.cxx
+++ b/sw/source/core/crsr/trvlcol.cxx
@@ -81,11 +81,11 @@ bool SwCursorShell::MoveColumn( SwWhichColumn fnWhichCol, SwPosColumn fnPosCol )
 
                 pCnt->Calc(GetOut());
 
-                Point aPt( pCnt->getSwFrame().Pos() + pCnt->getSwPrint().Pos() );
+                Point aPt( pCnt->getFrameArea().Pos() + pCnt->getFramePrintArea().Pos() );
                 if( fnPosCol == GetColumnEnd )
                 {
-                    aPt.setX(aPt.getX() + pCnt->getSwPrint().Width());
-                    aPt.setY(aPt.getY() + pCnt->getSwPrint().Height());
+                    aPt.setX(aPt.getX() + pCnt->getFramePrintArea().Width());
+                    aPt.setY(aPt.getY() + pCnt->getFramePrintArea().Height());
                 }
 
                 pCnt->GetCursorOfst( m_pCurrentCursor->GetPoint(), aPt );
diff --git a/sw/source/core/crsr/trvlfnfl.cxx b/sw/source/core/crsr/trvlfnfl.cxx
index 828ed251f069..1f40f610d805 100644
--- a/sw/source/core/crsr/trvlfnfl.cxx
+++ b/sw/source/core/crsr/trvlfnfl.cxx
@@ -317,13 +317,13 @@ bool SwCursorShell::GotoFlyAnchor()
 
     // jump in BodyFrame closest to FlyFrame
     SwRect aTmpRect( m_aCharRect );
-    if( !pFrame->getSwFrame().IsInside( aTmpRect ))
-        aTmpRect = pFrame->getSwFrame();
+    if( !pFrame->getFrameArea().IsInside( aTmpRect ))
+        aTmpRect = pFrame->getFrameArea();
     Point aPt( aTmpRect.Left(), aTmpRect.Top() +
                 ( aTmpRect.Bottom() - aTmpRect.Top() ) / 2 );
-    aPt.setX(aPt.getX() > (pFrame->getSwFrame().Left() + (pFrame->getSwFrame().SSize().Width() / 2 ))
-                ? pFrame->getSwFrame().Right()
-                : pFrame->getSwFrame().Left());
+    aPt.setX(aPt.getX() > (pFrame->getFrameArea().Left() + (pFrame->getFrameArea().SSize().Width() / 2 ))
+                ? pFrame->getFrameArea().Right()
+                : pFrame->getFrameArea().Left());
 
     const SwPageFrame* pPageFrame = pFrame->FindPageFrame();
     const SwContentFrame* pFndFrame = pPageFrame->GetContentPos( aPt, false, true );
diff --git a/sw/source/core/crsr/trvltbl.cxx b/sw/source/core/crsr/trvltbl.cxx
index 941588c2982b..ada13c575aa6 100644
--- a/sw/source/core/crsr/trvltbl.cxx
+++ b/sw/source/core/crsr/trvltbl.cxx
@@ -242,8 +242,8 @@ bool SwCursorShell::SelTableRowOrCol( bool bRow, bool bRowSimple )
     // with the repeated headlines check in UpdateCursor():
     if ( !bRow )
         m_pTableCursor->GetPtPos() = pMasterTabFrame->IsVertical()
-                                   ? pMasterTabFrame->getSwFrame().TopRight()
-                                   : pMasterTabFrame->getSwFrame().TopLeft();
+                                   ? pMasterTabFrame->getFrameArea().TopRight()
+                                   : pMasterTabFrame->getFrameArea().TopLeft();
 
     UpdateCursor();
     return true;
@@ -275,7 +275,7 @@ bool SwCursorShell::SelTable()
     m_pTableCursor->SetMark();
     // set MkPos 'close' to the master table, otherwise we might get problems
     // with the repeated headlines check in UpdateCursor():
-    m_pTableCursor->GetMkPos() = pMasterTabFrame->IsVertical() ? pMasterTabFrame->getSwFrame().TopRight() : pMasterTabFrame->getSwFrame().TopLeft();
+    m_pTableCursor->GetMkPos() = pMasterTabFrame->IsVertical() ? pMasterTabFrame->getFrameArea().TopRight() : pMasterTabFrame->getFrameArea().TopLeft();
     m_pTableCursor->GetPoint()->nNode = *pTableNd->EndOfSectionNode();
     m_pTableCursor->Move( fnMoveBackward, GoInContent );
     UpdateCursor();
diff --git a/sw/source/core/crsr/viscrs.cxx b/sw/source/core/crsr/viscrs.cxx
index 52cd65acfd5d..5de324db4c85 100644
--- a/sw/source/core/crsr/viscrs.cxx
+++ b/sw/source/core/crsr/viscrs.cxx
@@ -779,7 +779,7 @@ void SwShellTableCursor::FillRects()
     bool bStart = true;
     SwRegionRects aReg( GetShell()->VisArea() );
     if (comphelper::LibreOfficeKit::isActive())
-        aReg = GetShell()->getIDocumentLayoutAccess().GetCurrentLayout()->getSwFrame();
+        aReg = GetShell()->getIDocumentLayoutAccess().GetCurrentLayout()->getFrameArea();
     SwNodes& rNds = GetDoc()->GetNodes();
     SwFrame* pEndFrame = nullptr;
     for (size_t n = 0; n < m_SelectedBoxes.size(); ++n)
@@ -812,13 +812,13 @@ void SwShellTableCursor::FillRects()
 
         while ( pFrame )
         {
-            if( aReg.GetOrigin().IsOver( pFrame->getSwFrame() ) )
+            if( aReg.GetOrigin().IsOver( pFrame->getFrameArea() ) )
             {
-                aReg -= pFrame->getSwFrame();
+                aReg -= pFrame->getFrameArea();
                 if (bStart)
                 {
                     bStart = false;
-                    m_aStart = SwRect(pFrame->getSwFrame().Left(), pFrame->getSwFrame().Top(), 1, pFrame->getSwFrame().Height());
+                    m_aStart = SwRect(pFrame->getFrameArea().Left(), pFrame->getFrameArea().Top(), 1, pFrame->getFrameArea().Height());
                 }
             }
 
@@ -827,7 +827,7 @@ void SwShellTableCursor::FillRects()
         }
     }
     if (pEndFrame)
-        m_aEnd = SwRect(pEndFrame->getSwFrame().Right(), pEndFrame->getSwFrame().Top(), 1, pEndFrame->getSwFrame().Height());
+        m_aEnd = SwRect(pEndFrame->getFrameArea().Right(), pEndFrame->getFrameArea().Top(), 1, pEndFrame->getFrameArea().Height());
     aReg.Invert();
     insert( begin(), aReg.begin(), aReg.end() );
 }
@@ -857,7 +857,7 @@ bool SwShellTableCursor::IsInside( const Point& rPt ) const
         while( pFrame && !pFrame->IsCellFrame() )
             pFrame = pFrame->GetUpper();
         OSL_ENSURE( pFrame, "Node not in a table" );
-        if( pFrame && pFrame->getSwFrame().IsInside( rPt ) )
+        if( pFrame && pFrame->getFrameArea().IsInside( rPt ) )
             return true;
     }
     return false;
diff --git a/sw/source/core/doc/DocumentDrawModelManager.cxx b/sw/source/core/doc/DocumentDrawModelManager.cxx
index 7e54c5ac41ea..ce898e559362 100644
--- a/sw/source/core/doc/DocumentDrawModelManager.cxx
+++ b/sw/source/core/doc/DocumentDrawModelManager.cxx
@@ -145,7 +145,7 @@ void DocumentDrawModelManager::InitDrawModel()
                 // mpDrawModel->InsertPage( pDrawPage );
                 SdrPage* pDrawPage = pMasterPage;
                 pRoot->SetDrawPage( pDrawPage );
-                pDrawPage->SetSize( pRoot->getSwFrame().SSize() );
+                pDrawPage->SetSize( pRoot->getFrameArea().SSize() );
             }
         }
     }
diff --git a/sw/source/core/doc/doc.cxx b/sw/source/core/doc/doc.cxx
index 78b5aadf2c6d..d0c0839ec0ae 100644
--- a/sw/source/core/doc/doc.cxx
+++ b/sw/source/core/doc/doc.cxx
@@ -668,7 +668,7 @@ void SwDoc::CalculatePagesForPrinting(
         const bool bPrintThisPage =
             ( (bPrintRightPages && pStPage->OnRightPage()) ||
               (bPrintLeftPages && !pStPage->OnRightPage()) ) &&
-            ( bPrintEmptyPages || pStPage->getSwFrame().Height() );
+            ( bPrintEmptyPages || pStPage->getFrameArea().Height() );
 
         if (bPrintThisPage)
         {
diff --git a/sw/source/core/doc/docfly.cxx b/sw/source/core/doc/docfly.cxx
index 064df47eae6f..f06d3f6ab5cc 100644
--- a/sw/source/core/doc/docfly.cxx
+++ b/sw/source/core/doc/docfly.cxx
@@ -223,7 +223,7 @@ static Point lcl_FindAnchorLayPos( SwDoc& rDoc, const SwFormatAnchor& rAnch,
             {
                 const SwFrame* pOld = static_cast<const SwFlyFrameFormat*>(pFlyFormat)->GetFrame( &aRet );
                 if( pOld )
-                    aRet = pOld->getSwFrame().Pos();
+                    aRet = pOld->getFrameArea().Pos();
             }
             break;
 
@@ -235,7 +235,7 @@ static Point lcl_FindAnchorLayPos( SwDoc& rDoc, const SwFormatAnchor& rAnch,
                 const SwContentNode* pNd = pPos->nNode.GetNode().GetContentNode();
                 const SwFrame* pOld = pNd ? pNd->getLayoutFrame( rDoc.getIDocumentLayoutAccess().GetCurrentLayout(), &aRet, nullptr, false ) : nullptr;
                 if( pOld )
-                    aRet = pOld->getSwFrame().Pos();
+                    aRet = pOld->getFrameArea().Pos();
             }
             break;
 
@@ -246,7 +246,7 @@ static Point lcl_FindAnchorLayPos( SwDoc& rDoc, const SwFormatAnchor& rAnch,
                                                 nNode.GetNode().GetFlyFormat());
                 const SwFrame* pOld = pFormat ? pFormat->GetFrame( &aRet ) : nullptr;
                 if( pOld )
-                    aRet = pOld->getSwFrame().Pos();
+                    aRet = pOld->getFrameArea().Pos();
             }
             break;
 
@@ -258,7 +258,7 @@ static Point lcl_FindAnchorLayPos( SwDoc& rDoc, const SwFormatAnchor& rAnch,
                                     pPage =static_cast<const SwPageFrame*>(pPage->GetNext()) )
                     if( i == nPgNum )
                     {
-                        aRet = pPage->getSwFrame().Pos();
+                        aRet = pPage->getFrameArea().Pos();
                         break;
                     }
             }
@@ -840,7 +840,7 @@ bool SwDoc::ChgAnchor( const SdrMarkList& _rMrkList,
             case RndStdIds::FLY_AT_PAGE:
                 {
                     pNewAnchorFrame = getIDocumentLayoutAccess().GetCurrentLayout()->Lower();
-                    while ( pNewAnchorFrame && !pNewAnchorFrame->getSwFrame().IsInside( aPt ) )
+                    while ( pNewAnchorFrame && !pNewAnchorFrame->getFrameArea().IsInside( aPt ) )
                         pNewAnchorFrame = pNewAnchorFrame->GetNext();
                     if ( !pNewAnchorFrame )
                         continue;
@@ -873,7 +873,7 @@ bool SwDoc::ChgAnchor( const SdrMarkList& _rMrkList,
                     aPoint.setX(aPoint.getX() - 1);    // Do not load in the DrawObj!
                     aNewAnch.SetType( RndStdIds::FLY_AS_CHAR );
                     SwPosition aPos( *static_cast<const SwContentFrame*>(pNewAnchorFrame)->GetNode() );
-                    if ( pNewAnchorFrame->getSwFrame().IsInside( aPoint ) )
+                    if ( pNewAnchorFrame->getFrameArea().IsInside( aPoint ) )
                     {
                     // We need to find a TextNode, because only there we can anchor a
                     // content-bound DrawObject.
@@ -884,7 +884,7 @@ bool SwDoc::ChgAnchor( const SdrMarkList& _rMrkList,
                     {
                         SwContentNode &rCNd = const_cast<SwContentNode&>(
                             *static_cast<const SwContentFrame*>(pNewAnchorFrame)->GetNode());
-                        if ( pNewAnchorFrame->getSwFrame().Bottom() < aPt.Y() )
+                        if ( pNewAnchorFrame->getFrameArea().Bottom() < aPt.Y() )
                             rCNd.MakeStartIndex( &aPos.nContent );
                         else
                             rCNd.MakeEndIndex( &aPos.nContent );
@@ -1096,7 +1096,7 @@ SwChainRet SwDoc::Chain( SwFrameFormat &rSource, const SwFrameFormat &rDest )
         {
             SwFlyFrame *pFly = SwIterator<SwFlyFrame,SwFormat>( rSource ).First();
             if ( pFly )
-                aSize.SetHeight( pFly->getSwFrame().Height() );
+                aSize.SetHeight( pFly->getFrameArea().Height() );
             aSize.SetHeightSizeType( ATT_FIX_SIZE );
             aSet.Put( aSize );
         }
diff --git a/sw/source/core/doc/htmltbl.cxx b/sw/source/core/doc/htmltbl.cxx
index 053446edff4c..db087caff864 100644
--- a/sw/source/core/doc/htmltbl.cxx
+++ b/sw/source/core/doc/htmltbl.cxx
@@ -340,7 +340,7 @@ sal_uInt16 SwHTMLTableLayout::GetBrowseWidth( const SwDoc& rDoc )
     {
         const SwFrame *pPageFrame = pRootFrame->GetLower();
         if( pPageFrame )
-            return (sal_uInt16)pPageFrame->getSwPrint().Width();
+            return (sal_uInt16)pPageFrame->getFramePrintArea().Width();
     }
 
     // #i91658#
@@ -364,13 +364,13 @@ sal_uInt16 SwHTMLTableLayout::GetBrowseWidthByTabFrame(
         // For paragraph-bound frames we don't respect paragraph indents.
         const SwFrame *pAnchor = static_cast<const SwFlyFrame *>(pUpper)->GetAnchorFrame();
         if( pAnchor->IsTextFrame() )
-            nWidth = pAnchor->getSwFrame().Width();
+            nWidth = pAnchor->getFrameArea().Width();
         else
-            nWidth = pAnchor->getSwPrint().Width();
+            nWidth = pAnchor->getFramePrintArea().Width();
     }
     else
     {
-        nWidth = pUpper->getSwPrint().Width();
+        nWidth = pUpper->getFramePrintArea().Width();
     }
 
     SwTwips nUpperDummy = 0;
diff --git a/sw/source/core/doc/notxtfrm.cxx b/sw/source/core/doc/notxtfrm.cxx
index 18fa63ca2b99..e4c3f751e41d 100644
--- a/sw/source/core/doc/notxtfrm.cxx
+++ b/sw/source/core/doc/notxtfrm.cxx
@@ -211,7 +211,7 @@ static void lcl_ClearArea( const SwFrame &rFrame,
 
 void SwNoTextFrame::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRect, SwPrintData const*const) const
 {
-    if ( getSwFrame().IsEmpty() )
+    if ( getFrameArea().IsEmpty() )
         return;
 
     const SwViewShell* pSh = getRootFrame()->GetCurrShell();
@@ -227,7 +227,7 @@ void SwNoTextFrame::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRec
                 GetRealURL( *static_cast<const SwGrfNode*>(pNd), aText );
             if( aText.isEmpty() )
                 aText = FindFlyFrame()->GetFormat()->GetName();
-            lcl_PaintReplacement( getSwFrame(), aText, *pSh, this, false );
+            lcl_PaintReplacement( getFrameArea(), aText, *pSh, this, false );
         }
         return;
     }
@@ -263,10 +263,10 @@ void SwNoTextFrame::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRec
     SwRect aOrigPaint( rRect );
     if ( HasAnimation() && pSh->GetWin() )
     {
-        aOrigPaint = getSwFrame(); aOrigPaint += getSwPrint().Pos();
+        aOrigPaint = getFrameArea(); aOrigPaint += getFramePrintArea().Pos();
     }
 
-    SwRect aGrfArea( getSwFrame() );
+    SwRect aGrfArea( getFrameArea() );
     SwRect aPaintArea( aGrfArea );
 
     // In case the picture fly frm was clipped, render it with the origin
@@ -286,13 +286,13 @@ void SwNoTextFrame::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRec
             }
 
             if( bGetUnclippedFrame )
-                aGrfArea = SwRect( getSwFrame().Pos( ), pFly->GetUnclippedFrame( ).SSize( ) );
+                aGrfArea = SwRect( getFrameArea().Pos( ), pFly->GetUnclippedFrame( ).SSize( ) );
         }
     }
 
     aPaintArea.Intersection_( aOrigPaint );
 
-    SwRect aNormal( getSwFrame().Pos() + getSwPrint().Pos(), getSwPrint().SSize() );
+    SwRect aNormal( getFrameArea().Pos() + getFramePrintArea().Pos(), getFramePrintArea().SSize() );
     aNormal.Justify(); // Normalized rectangle for the comparisons
 
     if( aPaintArea.IsOver( aNormal ) )
@@ -374,7 +374,7 @@ void SwNoTextFrame::GetGrfArea( SwRect &rRect, SwRect* pOrigRect ) const
     Size aOrigSz( static_cast<const SwNoTextNode*>(GetNode())->GetTwipSize() );
     if ( !aOrigSz.Width() )
     {
-        aOrigSz.Width() = getSwPrint().Width();
+        aOrigSz.Width() = getFramePrintArea().Width();
         nLeftCrop  = -rCrop.GetLeft();
         nRightCrop = -rCrop.GetRight();
     }
@@ -382,7 +382,7 @@ void SwNoTextFrame::GetGrfArea( SwRect &rRect, SwRect* pOrigRect ) const
     {
         nLeftCrop = std::max( aOrigSz.Width() -
                             (rCrop.GetRight() + rCrop.GetLeft()), long(1) );
-        const double nScale = double(getSwPrint().Width())  / double(nLeftCrop);
+        const double nScale = double(getFramePrintArea().Width())  / double(nLeftCrop);
         nLeftCrop  = long(nScale * -rCrop.GetLeft() );
         nRightCrop = long(nScale * -rCrop.GetRight() );
     }
@@ -397,14 +397,14 @@ void SwNoTextFrame::GetGrfArea( SwRect &rRect, SwRect* pOrigRect ) const
 
     if( !aOrigSz.Height() )
     {
-        aOrigSz.Height() = getSwPrint().Height();
+        aOrigSz.Height() = getFramePrintArea().Height();
         nTopCrop   = -rCrop.GetTop();
         nBottomCrop= -rCrop.GetBottom();
     }
     else
     {
         nTopCrop = std::max( aOrigSz.Height() - (rCrop.GetTop() + rCrop.GetBottom()), long(1) );
-        const double nScale = double(getSwPrint().Height()) / double(nTopCrop);
+        const double nScale = double(getFramePrintArea().Height()) / double(nTopCrop);
         nTopCrop   = long(nScale * -rCrop.GetTop() );
         nBottomCrop= long(nScale * -rCrop.GetBottom() );
     }
@@ -417,9 +417,9 @@ void SwNoTextFrame::GetGrfArea( SwRect &rRect, SwRect* pOrigRect ) const
         nBottomCrop= nTmpCrop;
     }
 
-    Size  aVisSz( getSwPrint().SSize() );
+    Size  aVisSz( getFramePrintArea().SSize() );
     Size  aGrfSz( aVisSz );
-    Point aVisPt( getSwFrame().Pos() + getSwPrint().Pos() );
+    Point aVisPt( getFrameArea().Pos() + getFramePrintArea().Pos() );
     Point aGrfPt( aVisPt );
 
     // Set the "visible" rectangle first
@@ -465,7 +465,7 @@ const Size& SwNoTextFrame::GetSize() const
     const SwFrame *pFly = FindFlyFrame();
     if( !pFly )
         pFly = this;
-    return pFly->getSwPrint().SSize();
+    return pFly->getFramePrintArea().SSize();
 }
 
 void SwNoTextFrame::MakeAll(vcl::RenderContext* /*pRenderContext*/)
@@ -474,20 +474,21 @@ void SwNoTextFrame::MakeAll(vcl::RenderContext* /*pRenderContext*/)
     SwBorderAttrAccess aAccess( SwFrame::GetCache(), this );
     const SwBorderAttrs &rAttrs = *aAccess.Get();
 
-    while ( !mbValidPos || !mbValidSize || !mbValidPrtArea )
+    while ( !isFrameAreaPositionValid() || !isFrameAreaSizeValid() || !isFramePrintAreaValid() )
     {
         MakePos();
 
-        if ( !mbValidSize )
+        if ( !isFrameAreaSizeValid() )
         {
-            SwFrameRect::FrameWriteAccess aFrm(*this);
-            aFrm.Width( GetUpper()->getSwPrint().Width() );
+            SwFrameAreaDefinition::FrameAreaWriteAccess aFrm(*this);
+            aFrm.Width( GetUpper()->getFramePrintArea().Width() );
         }
 
         MakePrtArea( rAttrs );
 
-        if ( !mbValidSize )
-        {   mbValidSize = true;
+        if ( !isFrameAreaSizeValid() )
+        {
+            setFrameAreaSizeValid(true);
             Format(getRootFrame()->GetCurrShell()->GetOut());
         }
     }
@@ -500,12 +501,12 @@ void SwNoTextFrame::Format( vcl::RenderContext* /*pRenderContext*/, const SwBord
 
     // Did the height change?
     SwTwips nChgHght = IsVertical() ?
-        (SwTwips)(aNewSize.Width() - getSwPrint().Width()) :
-        (SwTwips)(aNewSize.Height() - getSwPrint().Height());
+        (SwTwips)(aNewSize.Width() - getFramePrintArea().Width()) :
+        (SwTwips)(aNewSize.Height() - getFramePrintArea().Height());
     if( nChgHght > 0)
         Grow( nChgHght );
     else if( nChgHght < 0)
-        Shrink( std::min(getSwPrint().Height(), -nChgHght) );
+        Shrink( std::min(getFramePrintArea().Height(), -nChgHght) );
 }
 
 bool SwNoTextFrame::GetCharRect( SwRect &rRect, const SwPosition& rPos,
@@ -515,10 +516,10 @@ bool SwNoTextFrame::GetCharRect( SwRect &rRect, const SwPosition& rPos,
         return false;
 
     Calc(getRootFrame()->GetCurrShell()->GetOut());
-    SwRect aFrameRect( getSwFrame() );
+    SwRect aFrameRect( getFrameArea() );
     rRect = aFrameRect;
-    rRect.Pos( getSwFrame().Pos() + getSwPrint().Pos() );
-    rRect.SSize( getSwPrint().SSize() );
+    rRect.Pos( getFrameArea().Pos() + getFramePrintArea().Pos() );
+    rRect.SSize( getFramePrintArea().SSize() );
 
     rRect.Justify();
 
@@ -558,7 +559,7 @@ bool SwNoTextFrame::GetCursorOfst(SwPosition* pPos, Point& ,
     if( pFly && pFly->GetFormat()->GetSurround().IsContour() )\
     {\
         ClrContourCache( pFly->GetVirtDrawObj() );\
-        pFly->NotifyBackground( FindPageFrame(), getSwPrint(), PREP_FLY_ATTR_CHG );\
+        pFly->NotifyBackground( FindPageFrame(), getFramePrintArea(), PREP_FLY_ATTR_CHG );\
     }\
 }
 
@@ -594,7 +595,7 @@ void SwNoTextFrame::Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew )
             {
                 GraphicAttr aAttr;
                 if( pNd->GetGrfObj().IsCached( pVSh->GetOut(),
-                            getSwPrint().SSize(), &pNd->GetGraphicAttr( aAttr, this ) ))
+                            getFramePrintArea().SSize(), &pNd->GetGraphicAttr( aAttr, this ) ))
                 {
                     for(SwViewShell& rShell : pVSh->GetRingContainer())
                     {
@@ -602,9 +603,9 @@ void SwNoTextFrame::Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew )
                         if( rShell.GetWin() )
                         {
                             if( rShell.IsPreview() )
-                                ::RepaintPagePreview( &rShell, getSwFrame().SVRect() );
+                                ::RepaintPagePreview( &rShell, getFrameArea().SVRect() );
                             else
-                                rShell.GetWin()->Invalidate( getSwFrame().SVRect() );
+                                rShell.GetWin()->Invalidate( getFrameArea().SVRect() );
                         }
                     }
                 }
@@ -668,7 +669,7 @@ void SwNoTextFrame::Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew )
 
             CLEARCACHE
 
-            SwRect aRect( getSwFrame() );
+            SwRect aRect( getFrameArea() );
 
             SwViewShell *pVSh = pNd->GetDoc()->getIDocumentLayoutAccess().GetCurrentViewShell();
             if( !pVSh )
@@ -1100,7 +1101,7 @@ void SwNoTextFrame::PaintPicture( vcl::RenderContext* pOut, const SwRect &rGrfAr
             {
                 const SwFlyFrame *pFly = FindFlyFrame();
                 assert( pFly != nullptr );
-                static_cast<SwFEShell*>(pShell)->ConnectObj( pOLENd->GetOLEObj().GetObject(), pFly->getSwPrint(), pFly->getSwFrame());
+                static_cast<SwFEShell*>(pShell)->ConnectObj( pOLENd->GetOLEObj().GetObject(), pFly->getFramePrintArea(), pFly->getFrameArea());
             }
         }
 
diff --git a/sw/source/core/doc/tblrwcl.cxx b/sw/source/core/doc/tblrwcl.cxx
index 7d6d9087c42d..626bf644a6bc 100644
--- a/sw/source/core/doc/tblrwcl.cxx
+++ b/sw/source/core/doc/tblrwcl.cxx
@@ -1060,7 +1060,7 @@ bool SwTable::OldSplitRow( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 nCn
             const SwRowFrame* pRow = GetRowFrame( *pSelBox->GetUpper() );
             OSL_ENSURE( pRow, "Where is the SwTableLine's Frame?" );
             SwRectFnSet aRectFnSet(pRow);
-            pRowHeights[ n ] = aRectFnSet.GetHeight(pRow->getSwFrame());
+            pRowHeights[ n ] = aRectFnSet.GetHeight(pRow->getFrameArea());
         }
     }
 
@@ -3549,9 +3549,9 @@ bool SwTable::SetColWidth( SwTableBox& rAktBox, TableChgWidthHeightType eType,
                     {
                         SwTabFrame* pTabFrame = SwIterator<SwTabFrame,SwFormat>( *GetFrameFormat() ).First();
                         if( pTabFrame &&
-                            pTabFrame->getSwPrint().Width() != rSz.GetWidth() )
+                            pTabFrame->getFramePrintArea().Width() != rSz.GetWidth() )
                         {
-                            nFrameWidth = pTabFrame->getSwPrint().Width();
+                            nFrameWidth = pTabFrame->getFramePrintArea().Width();
                             if( bBigger )
                                 nFrameWidth += nAbsDiff;
                             else
@@ -3904,7 +3904,7 @@ void SetLineHeight( SwTableLine& rLine, SwTwips nOldHeight, SwTwips nNewHeight,
 
     SwFrameFormat* pFormat = rLine.ClaimFrameFormat();
 
-    SwTwips nMyNewH, nMyOldH = pLineFrame->getSwFrame().Height();
+    SwTwips nMyNewH, nMyOldH = pLineFrame->getFrameArea().Height();
     if( !nOldHeight )                       // the BaseLine and absolute
         nMyNewH = nMyOldH + nNewHeight;
     else
@@ -3967,7 +3967,7 @@ static bool lcl_SetOtherLineHeight( SwTableLine* pLine, CR_SetLineHeight& rParam
 
             if( TableChgMode::FixedWidthChangeProp == rParam.nMode )
             {
-                nDist *= pLineFrame->getSwFrame().Height();
+                nDist *= pLineFrame->getFrameArea().Height();
                 nDist /= rParam.nMaxHeight;
             }
             bRet = nDist <= CalcRowRstHeight( pLineFrame );
@@ -3987,7 +3987,7 @@ static bool lcl_SetOtherLineHeight( SwTableLine* pLine, CR_SetLineHeight& rParam
             // via the max height.
             if( (true) /*!rParam.bBigger*/ )
             {
-                nDist *= pLineFrame->getSwFrame().Height();
+                nDist *= pLineFrame->getFrameArea().Height();
                 nDist /= rParam.nMaxHeight;
             }
             else
@@ -4152,7 +4152,7 @@ bool SwTable::SetRowHeight( SwTableBox& rAktBox, TableChgWidthHeightType eType,
         {
             if( bInsDel && !bBigger )       // By how much does it get higher?
             {
-                nAbsDiff = GetRowFrame( *pBaseLine )->getSwFrame().Height();
+                nAbsDiff = GetRowFrame( *pBaseLine )->getFrameArea().Height();
             }
 
             if( TableChgMode::VarWidthChangeAbs == m_eTableChgMode )
@@ -4220,7 +4220,7 @@ bool SwTable::SetRowHeight( SwTableBox& rAktBox, TableChgWidthHeightType eType,
                         SwLayoutFrame* pLineFrame = GetRowFrame( *(*pLines)[ n ] );
                         OSL_ENSURE( pLineFrame, "Where is the Frame from the SwTableLine??" );
                         aParam.nMaxSpace += CalcRowRstHeight( pLineFrame );
-                        aParam.nMaxHeight += pLineFrame->getSwFrame().Height();
+                        aParam.nMaxHeight += pLineFrame->getFrameArea().Height();
                     }
                     if( bBigger && aParam.nMaxSpace < nAbsDiff )
                         bRet = false;
diff --git a/sw/source/core/docnode/ndtbl.cxx b/sw/source/core/docnode/ndtbl.cxx
index 5571ae35ae83..de122406d3c4 100644
--- a/sw/source/core/docnode/ndtbl.cxx
+++ b/sw/source/core/docnode/ndtbl.cxx
@@ -1043,8 +1043,8 @@ SwTableNode* SwNodes::TextToTable( const SwNodeRange& rRange, sal_Unicode cCh,
 
                 aPosArr.push_back(
                                 static_cast<sal_uInt16>(aFInfo.GetFrame()->IsVertical() ?
-                                aFInfo.GetFrame()->getSwPrint().Bottom() :
-                                aFInfo.GetFrame()->getSwPrint().Right()) );
+                                aFInfo.GetFrame()->getFramePrintArea().Bottom() :
+                                aFInfo.GetFrame()->getFramePrintArea().Right()) );
 
             }
         }
@@ -2511,14 +2511,14 @@ void SwDoc::GetTabCols( SwTabCols &rFill, const SwCellFrame* pBoxFrame )
     // Set fixed points, LeftMin in Document coordinates, all others relative
     SwRectFnSet aRectFnSet(pTab);
     const SwPageFrame* pPage = pTab->FindPageFrame();
-    const sal_uLong nLeftMin = aRectFnSet.GetLeft(pTab->getSwFrame()) -
-                           aRectFnSet.GetLeft(pPage->getSwFrame());
-    const sal_uLong nRightMax = aRectFnSet.GetRight(pTab->getSwFrame()) -
-                            aRectFnSet.GetLeft(pPage->getSwFrame());
+    const sal_uLong nLeftMin = aRectFnSet.GetLeft(pTab->getFrameArea()) -
+                           aRectFnSet.GetLeft(pPage->getFrameArea());
+    const sal_uLong nRightMax = aRectFnSet.GetRight(pTab->getFrameArea()) -
+                            aRectFnSet.GetLeft(pPage->getFrameArea());
 
     rFill.SetLeftMin ( nLeftMin );
-    rFill.SetLeft    ( aRectFnSet.GetLeft(pTab->getSwPrint()) );
-    rFill.SetRight   ( aRectFnSet.GetRight(pTab->getSwPrint()));
+    rFill.SetLeft    ( aRectFnSet.GetLeft(pTab->getFramePrintArea()) );
+    rFill.SetRight   ( aRectFnSet.GetRight(pTab->getFramePrintArea()));
     rFill.SetRightMax( nRightMax - nLeftMin );
 
     pTab->GetTable()->GetTabCols( rFill, pBox );
@@ -2590,10 +2590,10 @@ void SwDoc::GetTabRows( SwTabCols &rFill, const SwCellFrame* pBoxFrame )
     SwRectFnSet aRectFnSet(pTab);
     const SwPageFrame* pPage = pTab->FindPageFrame();
     const long nLeftMin  = ( aRectFnSet.IsVert() ?
-                             pTab->GetPrtLeft() - pPage->getSwFrame().Left() :
-                             pTab->GetPrtTop() - pPage->getSwFrame().Top() );
+                             pTab->GetPrtLeft() - pPage->getFrameArea().Left() :
+                             pTab->GetPrtTop() - pPage->getFrameArea().Top() );
     const long nLeft     = aRectFnSet.IsVert() ? LONG_MAX : 0;
-    const long nRight    = aRectFnSet.GetHeight(pTab->getSwPrint());
+    const long nRight    = aRectFnSet.GetHeight(pTab->getFramePrintArea());
     const long nRightMax = aRectFnSet.IsVert() ? nRight : LONG_MAX;
 
     rFill.SetLeftMin( nLeftMin );
@@ -2615,8 +2615,8 @@ void SwDoc::GetTabRows( SwTabCols &rFill, const SwCellFrame* pBoxFrame )
         if ( pFrame->IsCellFrame() && pFrame->FindTabFrame() == pTab )
         {
             // upper and lower borders of current cell frame:
-            long nUpperBorder = aRectFnSet.GetTop(pFrame->getSwFrame());
-            long nLowerBorder = aRectFnSet.GetBottom(pFrame->getSwFrame());
+            long nUpperBorder = aRectFnSet.GetTop(pFrame->getFrameArea());
+            long nLowerBorder = aRectFnSet.GetBottom(pFrame->getFrameArea());
 
             // get boundaries for nUpperBorder:
             aIter = aBoundaries.find( nUpperBorder );
@@ -2709,7 +2709,7 @@ void SwDoc::SetTabCols( const SwTabCols &rNew, bool bCurRowOnly,
     // #i17174# - With fix for #i9040# the shadow size is taken
     // from the table width. Thus, add its left and right size to current table
     // printing area width in order to get the correct table size attribute.
-    SwTwips nPrtWidth = aRectFnSet.GetWidth(pTab->getSwPrint());
+    SwTwips nPrtWidth = aRectFnSet.GetWidth(pTab->getFramePrintArea());
     {
         SvxShadowItem aShadow( rTab.GetFrameFormat()->GetShadow() );
         nPrtWidth += aShadow.CalcShadowSpace( SvxShadowItemSide::LEFT ) +
@@ -2725,15 +2725,15 @@ void SwDoc::SetTabCols( const SwTabCols &rNew, bool bCurRowOnly,
     SwTabCols aOld( rNew.Count() );
 
     const SwPageFrame* pPage = pTab->FindPageFrame();
-    const sal_uLong nLeftMin = aRectFnSet.GetLeft(pTab->getSwFrame()) -
-                           aRectFnSet.GetLeft(pPage->getSwFrame());
-    const sal_uLong nRightMax = aRectFnSet.GetRight(pTab->getSwFrame()) -
-                            aRectFnSet.GetLeft(pPage->getSwFrame());
+    const sal_uLong nLeftMin = aRectFnSet.GetLeft(pTab->getFrameArea()) -
+                           aRectFnSet.GetLeft(pPage->getFrameArea());
+    const sal_uLong nRightMax = aRectFnSet.GetRight(pTab->getFrameArea()) -
+                            aRectFnSet.GetLeft(pPage->getFrameArea());
 
     // Set fixed points, LeftMin in Document coordinates, all others relative
     aOld.SetLeftMin ( nLeftMin );
-    aOld.SetLeft    ( aRectFnSet.GetLeft(pTab->getSwPrint()) );
-    aOld.SetRight   ( aRectFnSet.GetRight(pTab->getSwPrint()));
+    aOld.SetLeft    ( aRectFnSet.GetLeft(pTab->getFramePrintArea()) );
+    aOld.SetRight   ( aRectFnSet.GetRight(pTab->getFramePrintArea()));
     aOld.SetRightMax( nRightMax - nLeftMin );
 
     rTab.GetTabCols( aOld, pBox );
@@ -2763,18 +2763,18 @@ void SwDoc::SetTabRows( const SwTabCols &rNew, bool bCurColOnly,
     // Set fixed points, LeftMin in Document coordinates, all others relative
     const SwPageFrame* pPage = pTab->FindPageFrame();
 
-    aOld.SetRight( aRectFnSet.GetHeight(pTab->getSwPrint()) );
+    aOld.SetRight( aRectFnSet.GetHeight(pTab->getFramePrintArea()) );
     long nLeftMin;
     if ( aRectFnSet.IsVert() )
     {
-        nLeftMin = pTab->GetPrtLeft() - pPage->getSwFrame().Left();
+        nLeftMin = pTab->GetPrtLeft() - pPage->getFrameArea().Left();
         aOld.SetLeft    ( LONG_MAX );
         aOld.SetRightMax( aOld.GetRight() );
 
     }
     else
     {
-        nLeftMin = pTab->GetPrtTop() - pPage->getSwFrame().Top();
+        nLeftMin = pTab->GetPrtTop() - pPage->getFrameArea().Top();
         aOld.SetLeft    ( 0 );
         aOld.SetRightMax( LONG_MAX );
     }
@@ -2819,7 +2819,7 @@ void SwDoc::SetTabRows( const SwTabCols &rNew, bool bCurColOnly,
             {
                 if ( pFrame->IsCellFrame() && pFrame->FindTabFrame() == pTab )
                 {
-                    const long nLowerBorder = aRectFnSet.GetBottom(pFrame->getSwFrame());
+                    const long nLowerBorder = aRectFnSet.GetBottom(pFrame->getFrameArea());
                     const sal_uLong nTabTop = aRectFnSet.GetPrtTop(*pTab);
                     if ( std::abs( aRectFnSet.YInc( nTabTop, nOldRowEnd ) - nLowerBorder ) <= ROWFUZZY )
                     {
@@ -2839,7 +2839,7 @@ void SwDoc::SetTabRows( const SwTabCols &rNew, bool bCurColOnly,
                                 {
                                     // The new row height must not to be calculated from a overlapping box
                                     SwFormatFrameSize aNew( pLine->GetFrameFormat()->GetFrameSize() );
-                                    const long nNewSize = aRectFnSet.GetHeight(pFrame->getSwFrame()) + nDiff;
+                                    const long nNewSize = aRectFnSet.GetHeight(pFrame->getFrameArea()) + nDiff;
                                     if( nNewSize != aNew.GetHeight() )
                                     {
                                         aNew.SetHeight( nNewSize );
diff --git a/sw/source/core/docnode/ndtbl1.cxx b/sw/source/core/docnode/ndtbl1.cxx
index 2fbfa06f7878..a589cbf5091e 100644
--- a/sw/source/core/docnode/ndtbl1.cxx
+++ b/sw/source/core/docnode/ndtbl1.cxx
@@ -441,7 +441,7 @@ bool SwDoc::BalanceRowHeight( const SwCursor& rCursor, bool bTstOnly )
                     SwFrame* pFrame = aIter.First();
                     while ( pFrame )
                     {
-                        nHeight = std::max( nHeight, pFrame->getSwFrame().Height() );
+                        nHeight = std::max( nHeight, pFrame->getFrameArea().Height() );
                         pFrame = aIter.Next();
                     }
                 }
@@ -536,7 +536,7 @@ static void lcl_CollectCells( std::vector<SwCellFrame*> &rArr, const SwRect &rUn
         while ( !pCell->IsCellFrame() )
             pCell = pCell->GetUpper();
         OSL_ENSURE( pCell, "Frame is not a Cell" );
-        if ( rUnion.IsOver( pCell->getSwFrame() ) )
+        if ( rUnion.IsOver( pCell->getFrameArea() ) )
             ::InsertCell( rArr, static_cast<SwCellFrame*>(pCell) );
 
         // Make sure the Cell is left (Areas)
@@ -643,17 +643,17 @@ void SwDoc::SetTabBorders( const SwCursor& rCursor, const SfxItemSet& rSet )
                 bool bTopOver, bLeftOver, bRightOver, bBottomOver;
                 if ( bVert )
                 {
-                    bTopOver = pCell->getSwFrame().Right() >= rUnion.Right();
-                    bLeftOver = pCell->getSwFrame().Top() <= rUnion.Top();
-                    bRightOver = pCell->getSwFrame().Bottom() >= rUnion.Bottom();
-                    bBottomOver = pCell->getSwFrame().Left() <= rUnion.Left();
+                    bTopOver = pCell->getFrameArea().Right() >= rUnion.Right();
+                    bLeftOver = pCell->getFrameArea().Top() <= rUnion.Top();
+                    bRightOver = pCell->getFrameArea().Bottom() >= rUnion.Bottom();
+                    bBottomOver = pCell->getFrameArea().Left() <= rUnion.Left();
                 }
                 else
                 {
-                    bTopOver = pCell->getSwFrame().Top() <= rUnion.Top();
-                    bLeftOver = pCell->getSwFrame().Left() <= rUnion.Left();
-                    bRightOver = pCell->getSwFrame().Right() >= rUnion.Right();
-                    bBottomOver = pCell->getSwFrame().Bottom() >= rUnion.Bottom();
+                    bTopOver = pCell->getFrameArea().Top() <= rUnion.Top();
+                    bLeftOver = pCell->getFrameArea().Left() <= rUnion.Left();
+                    bRightOver = pCell->getFrameArea().Right() >= rUnion.Right();
+                    bBottomOver = pCell->getFrameArea().Bottom() >= rUnion.Bottom();
                 }
 
                 if ( bRTL )
@@ -954,17 +954,17 @@ void SwDoc::GetTabBorders( const SwCursor& rCursor, SfxItemSet& rSet )
                 bool bTopOver, bLeftOver, bRightOver, bBottomOver;
                 if ( bVert )
                 {
-                    bTopOver = pCell->getSwFrame().Right() >= rUnion.Right();
-                    bLeftOver = pCell->getSwFrame().Top() <= rUnion.Top();
-                    bRightOver = pCell->getSwFrame().Bottom() >= rUnion.Bottom();
-                    bBottomOver = pCell->getSwFrame().Left() <= rUnion.Left();
+                    bTopOver = pCell->getFrameArea().Right() >= rUnion.Right();
+                    bLeftOver = pCell->getFrameArea().Top() <= rUnion.Top();
+                    bRightOver = pCell->getFrameArea().Bottom() >= rUnion.Bottom();
+                    bBottomOver = pCell->getFrameArea().Left() <= rUnion.Left();
                 }
                 else
                 {
-                    bTopOver = pCell->getSwFrame().Top() <= rUnion.Top();
-                    bLeftOver = pCell->getSwFrame().Left() <= rUnion.Left();
-                    bRightOver = pCell->getSwFrame().Right() >= rUnion.Right();
-                    bBottomOver = pCell->getSwFrame().Bottom() >= rUnion.Bottom();
+                    bTopOver = pCell->getFrameArea().Top() <= rUnion.Top();
+                    bLeftOver = pCell->getFrameArea().Left() <= rUnion.Left();
+                    bRightOver = pCell->getFrameArea().Right() >= rUnion.Right();
+                    bBottomOver = pCell->getFrameArea().Bottom() >= rUnion.Bottom();
                 }
 
                 if ( bRTL )
@@ -1275,20 +1275,20 @@ static sal_uInt16 lcl_CalcCellFit( const SwLayoutFrame *pCell )
     SwRectFnSet aRectFnSet(pCell);
     while ( pFrame )
     {
-        const SwTwips nAdd = aRectFnSet.GetWidth(pFrame->getSwFrame()) -
-                             aRectFnSet.GetWidth(pFrame->getSwPrint());
+        const SwTwips nAdd = aRectFnSet.GetWidth(pFrame->getFrameArea()) -
+                             aRectFnSet.GetWidth(pFrame->getFramePrintArea());
 
         // pFrame does not necessarily have to be a SwTextFrame!
         const SwTwips nCalcFitToContent = pFrame->IsTextFrame() ?
                                           const_cast<SwTextFrame*>(static_cast<const SwTextFrame*>(pFrame))->CalcFitToContent() :
-                                          aRectFnSet.GetWidth(pFrame->getSwPrint());
+                                          aRectFnSet.GetWidth(pFrame->getFramePrintArea());
 
         nRet = std::max( nRet, nCalcFitToContent + nAdd );
         pFrame = pFrame->GetNext();
     }
     // Surrounding border as well as left and Right Border also need to be respected
-    nRet += aRectFnSet.GetWidth(pCell->getSwFrame()) -
-            aRectFnSet.GetWidth(pCell->getSwPrint());
+    nRet += aRectFnSet.GetWidth(pCell->getFrameArea()) -
+            aRectFnSet.GetWidth(pCell->getFramePrintArea());
 
     // To compensate for the accuracy of calculation later on in SwTable::SetTabCols
     // we keep adding up a little.
@@ -1315,7 +1315,7 @@ static void lcl_CalcSubColValues( std::vector<sal_uInt16> &rToFill, const SwTabC
 {
     const sal_uInt16 nWish = bWishValues ?
                     ::lcl_CalcCellFit( pCell ) :
-                    MINLAY + sal_uInt16(pCell->getSwFrame().Width() - pCell->getSwPrint().Width());
+                    MINLAY + sal_uInt16(pCell->getFrameArea().Width() - pCell->getFramePrintArea().Width());
 
     SwRectFnSet aRectFnSet(pTab);
 
@@ -1327,14 +1327,14 @@ static void lcl_CalcSubColValues( std::vector<sal_uInt16> &rToFill, const SwTabC
         nColRight += rCols.GetLeftMin();
 
         // Adapt values to the proportions of the Table (Follows)
-        if ( rCols.GetLeftMin() != aRectFnSet.GetLeft(pTab->getSwFrame()) )
+        if ( rCols.GetLeftMin() != aRectFnSet.GetLeft(pTab->getFrameArea()) )
         {
-            const long nDiff = aRectFnSet.GetLeft(pTab->getSwFrame()) - rCols.GetLeftMin();
+            const long nDiff = aRectFnSet.GetLeft(pTab->getFrameArea()) - rCols.GetLeftMin();
             nColLeft  += nDiff;
             nColRight += nDiff;
         }
-        const long nCellLeft  = aRectFnSet.GetLeft(pCell->getSwFrame());
-        const long nCellRight = aRectFnSet.GetRight(pCell->getSwFrame());
+        const long nCellLeft  = aRectFnSet.GetLeft(pCell->getFrameArea());
+        const long nCellRight = aRectFnSet.GetRight(pCell->getFrameArea());
 
         // Calculate overlapping value
         long nWidth = 0;
@@ -1344,9 +1344,9 @@ static void lcl_CalcSubColValues( std::vector<sal_uInt16> &rToFill, const SwTabC
             nWidth = nCellRight - nColLeft;
         else if ( nColLeft >= nCellLeft && nColRight <= nCellRight )
             nWidth = nColRight - nColLeft;
-        if ( nWidth && pCell->getSwFrame().Width() )
+        if ( nWidth && pCell->getFrameArea().Width() )
         {
-            long nTmp = nWidth * nWish / pCell->getSwFrame().Width();
+            long nTmp = nWidth * nWish / pCell->getFrameArea().Width();
             if ( sal_uInt16(nTmp) > rToFill[i] )
                 rToFill[i] = sal_uInt16(nTmp);
         }
@@ -1394,8 +1394,8 @@ static void lcl_CalcColValues( std::vector<sal_uInt16> &rToFill, const SwTabCols
         {
             if ( pCell->IsCellFrame() && pCell->FindTabFrame() == pTab && ::IsFrameInTableSel( rUnion, pCell ) )
             {
-                const long nCLeft  = aRectFnSet.GetLeft(pCell->getSwFrame());
-                const long nCRight = aRectFnSet.GetRight(pCell->getSwFrame());
+                const long nCLeft  = aRectFnSet.GetLeft(pCell->getFrameArea());
+                const long nCRight = aRectFnSet.GetRight(pCell->getFrameArea());
 
                 bool bNotInCols = true;
 
@@ -1418,9 +1418,9 @@ static void lcl_CalcColValues( std::vector<sal_uInt16> &rToFill, const SwTabCols
                     // Adapt values to the proportions of the Table (Follows)
                     long nLeftA  = nColLeft;
                     long nRightA = nColRight;
-                    if ( rCols.GetLeftMin() !=  sal_uInt16(aRectFnSet.GetLeft(pTab->getSwFrame())) )
+                    if ( rCols.GetLeftMin() !=  sal_uInt16(aRectFnSet.GetLeft(pTab->getFrameArea())) )
                     {
-                        const long nDiff = aRectFnSet.GetLeft(pTab->getSwFrame()) - rCols.GetLeftMin();
+                        const long nDiff = aRectFnSet.GetLeft(pTab->getFrameArea()) - rCols.GetLeftMin();
                         nLeftA  += nDiff;
                         nRightA += nDiff;
                     }
@@ -1436,8 +1436,8 @@ static void lcl_CalcColValues( std::vector<sal_uInt16> &rToFill, const SwTabCols
                                 nFit = nWish;
                         }
                         else
-                        {   const sal_uInt16 nMin = MINLAY + sal_uInt16(pCell->getSwFrame().Width() -
-                                                                pCell->getSwPrint().Width());
+                        {   const sal_uInt16 nMin = MINLAY + sal_uInt16(pCell->getFrameArea().Width() -
+                                                                pCell->getFramePrintArea().Width());
                             if ( !nFit || nMin < nFit )
                                 nFit = nMin;
                         }
@@ -1450,7 +1450,7 @@ static void lcl_CalcColValues( std::vector<sal_uInt16> &rToFill, const SwTabCols
             }
             do {
                 pCell = pCell->GetNextLayoutLeaf();
-            } while( pCell && pCell->getSwFrame().Width() == 0 );
+            } while( pCell && pCell->getFrameArea().Width() == 0 );
         } while ( pCell && pTab->IsAnLower( pCell ) );
     }
 }
diff --git a/sw/source/core/docnode/node.cxx b/sw/source/core/docnode/node.cxx
index c955dd321ac9..85052d36338e 100644
--- a/sw/source/core/docnode/node.cxx
+++ b/sw/source/core/docnode/node.cxx
@@ -386,12 +386,16 @@ bool SwNode::IsInVisibleArea( SwViewShell const * pSh ) const
             if ( pFrame->IsInTab() )
                 pFrame = pFrame->FindTabFrame();
 
-            if( !pFrame->IsValid() )
+            if( !pFrame->isFrameAreaDefinitionValid() )
+            {
                 do
-                {   pFrame = pFrame->FindPrev();
-                } while ( pFrame && !pFrame->IsValid() );
+                {
+                    pFrame = pFrame->FindPrev();
+                }
+                while ( pFrame && !pFrame->isFrameAreaDefinitionValid() );
+            }
 
-            if( !pFrame || pSh->VisArea().IsOver( pFrame->getSwFrame() ) )
+            if( !pFrame || pSh->VisArea().IsOver( pFrame->getFrameArea() ) )
                 bRet = true;
         }
     }
@@ -785,7 +789,7 @@ const SwTextNode* SwNode::FindOutlineNodeOfLevel( sal_uInt8 nLvl ) const
                        * pMyFrame = pCNd ? pCNd->getLayoutFrame( pCNd->GetDoc()->getIDocumentLayoutAccess().GetCurrentLayout(), &aPt, nullptr, false ) : nullptr;
             const SwPageFrame* pPgFrame = pFrame ? pFrame->FindPageFrame() : nullptr;
             if( pPgFrame && pMyFrame &&
-                pPgFrame->getSwFrame().Top() > pMyFrame->getSwFrame().Top() )
+                pPgFrame->getFrameArea().Top() > pMyFrame->getFrameArea().Top() )
             {
                 // The one asking precedes the Page, thus its invalid
                 pRet = nullptr;
@@ -1122,7 +1126,7 @@ SwRect SwContentNode::FindLayoutRect( const bool bPrtArea, const Point* pPoint )
     SwContentFrame* pFrame = static_cast<SwContentFrame*>( ::GetFrameOfModify( nullptr, *this,
                                             FRM_CNTNT, pPoint ) );
     if( pFrame )
-        aRet = bPrtArea ? pFrame->getSwPrint() : pFrame->getSwFrame();
+        aRet = bPrtArea ? pFrame->getFramePrintArea() : pFrame->getFrameArea();
     return aRet;
 }
 
@@ -1131,7 +1135,7 @@ SwRect SwContentNode::FindPageFrameRect() const
     SwRect aRet;
     SwFrame* pFrame = ::GetFrameOfModify( nullptr, *this, FRM_CNTNT );
     if( pFrame && nullptr != ( pFrame = pFrame->FindPageFrame() ))
-        aRet = pFrame->getSwFrame();
+        aRet = pFrame->getFrameArea();
     return aRet;
 }
 
diff --git a/sw/source/core/draw/dflyobj.cxx b/sw/source/core/draw/dflyobj.cxx
index 2b2c486819b6..82b3c6f701cd 100644
--- a/sw/source/core/draw/dflyobj.cxx
+++ b/sw/source/core/draw/dflyobj.cxx
@@ -318,7 +318,7 @@ basegfx::B2DRange SwVirtFlyDrawObj::getOuterBound() const
 
         if(pFlyFrame)
         {
-            const tools::Rectangle aOuterRectangle(pFlyFrame->getSwFrame().Pos(), pFlyFrame->getSwFrame().SSize());
+            const tools::Rectangle aOuterRectangle(pFlyFrame->getFrameArea().Pos(), pFlyFrame->getFrameArea().SSize());
 
             if(!aOuterRectangle.IsEmpty())
             {
@@ -342,7 +342,7 @@ basegfx::B2DRange SwVirtFlyDrawObj::getInnerBound() const
 
         if(pFlyFrame)
         {
-            const tools::Rectangle aInnerRectangle(pFlyFrame->getSwFrame().Pos() + pFlyFrame->getSwPrint().Pos(), pFlyFrame->getSwPrint().SSize());
+            const tools::Rectangle aInnerRectangle(pFlyFrame->getFrameArea().Pos() + pFlyFrame->getFramePrintArea().Pos(), pFlyFrame->getFramePrintArea().SSize());
 
             if(!aInnerRectangle.IsEmpty())
             {
@@ -525,7 +525,7 @@ void SwVirtFlyDrawObj::wrap_DoPaintObject(
                 RestoreMapMode aRestoreMapModeIfNeeded( pShell );
 
                 // paint the FlyFrame (use standard VCL-Paint)
-                m_pFlyFrame->Paint( *pShell->GetOut(), GetFlyFrame()->getSwFrame() );
+                m_pFlyFrame->Paint( *pShell->GetOut(), GetFlyFrame()->getFrameArea() );
             }
         }
     }
@@ -549,8 +549,8 @@ void SwVirtFlyDrawObj::TakeObjInfo( SdrObjTransformInfoRec& rInfo ) const
 
 void SwVirtFlyDrawObj::SetRect() const
 {
-    if ( GetFlyFrame()->getSwFrame().HasArea() )
-        const_cast<SwVirtFlyDrawObj*>(this)->aOutRect = GetFlyFrame()->getSwFrame().SVRect();
+    if ( GetFlyFrame()->getFrameArea().HasArea() )
+        const_cast<SwVirtFlyDrawObj*>(this)->aOutRect = GetFlyFrame()->getFrameArea().SVRect();
     else
         const_cast<SwVirtFlyDrawObj*>(this)->aOutRect = tools::Rectangle();
 }
@@ -620,7 +620,7 @@ void SwVirtFlyDrawObj::NbcSetLogicRect(const tools::Rectangle& )
 
 ::basegfx::B2DPolyPolygon SwVirtFlyDrawObj::TakeXorPoly() const
 {
-    const tools::Rectangle aSourceRectangle(GetFlyFrame()->getSwFrame().SVRect());
+    const tools::Rectangle aSourceRectangle(GetFlyFrame()->getFrameArea().SVRect());
     const ::basegfx::B2DRange aSourceRange(aSourceRectangle.Left(), aSourceRectangle.Top(), aSourceRectangle.Right(), aSourceRectangle.Bottom());
     ::basegfx::B2DPolyPolygon aRetval;
 
@@ -634,7 +634,7 @@ void SwVirtFlyDrawObj::NbcSetLogicRect(const tools::Rectangle& )
 void SwVirtFlyDrawObj::NbcMove(const Size& rSiz)
 {
     MoveRect( aOutRect, rSiz );
-    const Point aOldPos( GetFlyFrame()->getSwFrame().Pos() );
+    const Point aOldPos( GetFlyFrame()->getFrameArea().Pos() );
     const Point aNewPos( aOutRect.TopLeft() );
     const SwRect aFlyRect( aOutRect );
 
@@ -689,7 +689,7 @@ void SwVirtFlyDrawObj::NbcMove(const Size& rSiz)
 
         if( GetFlyFrame()->GetAnchorFrame()->IsRightToLeft() &&
             text::HoriOrientation::NONE != eHori )
-            lXDiff = GetFlyFrame()->GetAnchorFrame()->getSwFrame().Width() -
+            lXDiff = GetFlyFrame()->GetAnchorFrame()->getFrameArea().Width() -
                      aFlyRect.Width() - lXDiff;
 
         const Point aTmp( lXDiff, lYDiff );
@@ -722,9 +722,9 @@ void SwVirtFlyDrawObj::NbcMove(const Size& rSiz)
                 bNextLine = true;
                 //Horizontal Align:
                 const bool bLeftFrame =
-                    aFlyRect.Left() < pAnch->getSwFrame().Left() + pAnch->getSwPrint().Left(),
+                    aFlyRect.Left() < pAnch->getFrameArea().Left() + pAnch->getFramePrintArea().Left(),
                     bLeftPrt = aFlyRect.Left() + aFlyRect.Width() <
-                               pAnch->getSwFrame().Left() + pAnch->getSwPrint().Width()/2;
+                               pAnch->getFrameArea().Left() + pAnch->getFramePrintArea().Width()/2;
                 if ( bLeftFrame || bLeftPrt )
                 {
                     aHori.SetHoriOrient( text::HoriOrientation::LEFT );
@@ -733,7 +733,7 @@ void SwVirtFlyDrawObj::NbcMove(const Size& rSiz)
                 else
                 {
                     const bool bRightFrame = aFlyRect.Left() >
-                                       pAnch->getSwFrame().Left() + pAnch->getSwPrint().Width();
+                                       pAnch->getFrameArea().Left() + pAnch->getFramePrintArea().Width();
                     aHori.SetHoriOrient( text::HoriOrientation::RIGHT );
                     aHori.SetRelationOrient( bRightFrame ? text::RelOrientation::FRAME : text::RelOrientation::PRINT_AREA );
                 }
@@ -879,7 +879,7 @@ void SwVirtFlyDrawObj::NbcResize(const Point& rRef,
 
     Size aSz( aOutRect.Right() - aOutRect.Left() + 1,
               aOutRect.Bottom()- aOutRect.Top()  + 1 );
-    if( aSz != GetFlyFrame()->getSwFrame().SSize() )
+    if( aSz != GetFlyFrame()->getFrameArea().SSize() )
     {
         //The width of the columns should not be too narrow
         if ( GetFlyFrame()->Lower() && GetFlyFrame()->Lower()->IsColumnFrame() )
@@ -921,8 +921,8 @@ void SwVirtFlyDrawObj::NbcResize(const Point& rRef,
             }
             else
             {
-                nRelWidth  = pRel->getSwPrint().Width();
-                nRelHeight = pRel->getSwPrint().Height();
+                nRelWidth  = pRel->getFramePrintArea().Width();
+                nRelHeight = pRel->getFramePrintArea().Height();
             }
             if ( aFrameSz.GetWidthPercent() && aFrameSz.GetWidthPercent() != SwFormatFrameSize::SYNCED &&
                  aOldFrameSz.GetWidth() != aFrameSz.GetWidth() )
@@ -936,8 +936,8 @@ void SwVirtFlyDrawObj::NbcResize(const Point& rRef,
 
     //Position can also be changed!
     const Point aOldPos( ( bVertX && !bVertL2RX ) || bRTL ?
-                         GetFlyFrame()->getSwFrame().TopRight() :
-                         GetFlyFrame()->getSwFrame().Pos() );
+                         GetFlyFrame()->getFrameArea().TopRight() :
+                         GetFlyFrame()->getFrameArea().Pos() );
     if ( aNewPos != aOldPos )
     {
         //May have been altered by the ChgSize!
@@ -1034,9 +1034,9 @@ SdrObject* SwVirtFlyDrawObj::getFullDragClone() const
 void SwVirtFlyDrawObj::addCropHandles(SdrHdlList& rTarget) const
 {
     // RotGrfFlyFrame: Adapt to possible rotated Graphic contained in FlyFrame
-    if(GetFlyFrame()->getSwFrame().HasArea())
+    if(GetFlyFrame()->getFrameArea().HasArea())
     {
-        // Use InnerBound, OuterBound (same as GetFlyFrame()->getSwFrame().SVRect())
+        // Use InnerBound, OuterBound (same as GetFlyFrame()->getFrameArea().SVRect())
         // may have a distance to InnerBound which needs to be taken into account.
         // The Graphic is mapped to InnerBound, as is the rotated Graphic.
         const basegfx::B2DRange aTargetRange(getInnerBound());
@@ -1095,11 +1095,11 @@ SdrObject* SwVirtFlyDrawObj::CheckMacroHit( const SdrObjMacroHitRec& rRec ) cons
         SwRect aRect;
         if ( m_pFlyFrame->Lower() && m_pFlyFrame->Lower()->IsNoTextFrame() )
         {
-            aRect = m_pFlyFrame->getSwPrint();
-            aRect += m_pFlyFrame->getSwFrame().Pos();
+            aRect = m_pFlyFrame->getFramePrintArea();
+            aRect += m_pFlyFrame->getFrameArea().Pos();
         }
         else
-            aRect = m_pFlyFrame->getSwFrame();
+            aRect = m_pFlyFrame->getFrameArea();
 
         if( aRect.IsInside( rRec.aPos ) )
         {
diff --git a/sw/source/core/draw/dpage.cxx b/sw/source/core/draw/dpage.cxx
index eb665d39040c..716e41c433a6 100644
--- a/sw/source/core/draw/dpage.cxx
+++ b/sw/source/core/draw/dpage.cxx
@@ -116,10 +116,10 @@ SdrObject*  SwDPage::ReplaceObject( SdrObject* pNewObj, size_t nObjNum )
 
 void InsertGridFrame( SdrPageGridFrameList *pLst, const SwFrame *pPg )
 {
-    SwRect aPrt( pPg->getSwPrint() );
-    aPrt += pPg->getSwFrame().Pos();
+    SwRect aPrt( pPg->getFramePrintArea() );
+    aPrt += pPg->getFrameArea().Pos();
     const tools::Rectangle aUser( aPrt.SVRect() );
-    const tools::Rectangle aPaper( pPg->getSwFrame().SVRect() );
+    const tools::Rectangle aPaper( pPg->getFrameArea().SVRect() );
     pLst->Insert( SdrPageGridFrame( aPaper, aUser ) );
 }
 
@@ -148,7 +148,7 @@ const SdrPageGridFrameList*  SwDPage::GetGridFrameList(
             const SwRect aRect( *pRect );
             const SwFrame *pPg = pSh->GetLayout()->Lower();
             do
-            {   if ( pPg->getSwFrame().IsOver( aRect ) )
+            {   if ( pPg->getFrameArea().IsOver( aRect ) )
                     ::InsertGridFrame( const_cast<SwDPage*>(this)->pGridLst.get(), pPg );
                 pPg = pPg->GetNext();
             } while ( pPg );
@@ -161,7 +161,7 @@ const SdrPageGridFrameList*  SwDPage::GetGridFrameList(
                 do
                 {   ::InsertGridFrame( const_cast<SwDPage*>(this)->pGridLst.get(), pPg );
                     pPg = pPg->GetNext();
-                } while ( pPg && pPg->getSwFrame().IsOver( pSh->VisArea() ) );
+                } while ( pPg && pPg->getFrameArea().IsOver( pSh->VisArea() ) );
         }
     }
     return pGridLst.get();
@@ -210,7 +210,7 @@ bool SwDPage::RequestHelp( vcl::Window* pWindow, SdrView const * pView,
                 {
                     // then append the relative pixel position!!
                     Point aPt( aPos );
-                    aPt -= pFly->getSwFrame().Pos();
+                    aPt -= pFly->getFrameArea().Pos();
                     // without MapMode-Offset !!!!!
                     // without MapMode-Offset, without Offset, w ... !!!!!
                     aPt = pWindow->LogicToPixel(
diff --git a/sw/source/core/draw/dview.cxx b/sw/source/core/draw/dview.cxx
index 1ef5184aa27e..a728ba56d4b7 100644
--- a/sw/source/core/draw/dview.cxx
+++ b/sw/source/core/draw/dview.cxx
@@ -680,7 +680,7 @@ const SwFrame* SwDrawView::CalcAnchor()
     if ( bFly )
     {
         pAnch = static_cast<SwVirtFlyDrawObj*>(pObj)->GetFlyFrame()->GetAnchorFrame();
-        aMyRect = static_cast<SwVirtFlyDrawObj*>(pObj)->GetFlyFrame()->getSwFrame().SVRect();
+        aMyRect = static_cast<SwVirtFlyDrawObj*>(pObj)->GetFlyFrame()->getFrameArea().SVRect();
     }
     else
     {
diff --git a/sw/source/core/edit/autofmt.cxx b/sw/source/core/edit/autofmt.cxx
index 4e9b12be7d14..c16e22940933 100644
--- a/sw/source/core/edit/autofmt.cxx
+++ b/sw/source/core/edit/autofmt.cxx
@@ -248,16 +248,21 @@ SwTextFrame* SwAutoFormat::GetFrame( const SwTextNode& rTextNd ) const
     // get the Frame
     const SwContentFrame *pFrame = rTextNd.getLayoutFrame( m_pEditShell->GetLayout() );
     OSL_ENSURE( pFrame, "For Autoformat a Layout is needed" );
-    if( m_aFlags.bAFormatByInput && !pFrame->IsValid() )
+
+    if( m_aFlags.bAFormatByInput && !pFrame->isFrameAreaDefinitionValid() )
     {
         DisableCallbackAction a(const_cast<SwRootFrame&>(*pFrame->getRootFrame()));
-        SwRect aTmpFrame( pFrame->getSwFrame() );
-        SwRect aTmpPrt( pFrame->getSwPrint() );
+        SwRect aTmpFrame( pFrame->getFrameArea() );
+        SwRect aTmpPrt( pFrame->getFramePrintArea() );
         pFrame->Calc(pFrame->getRootFrame()->GetCurrShell()->GetOut());
-        if( pFrame->getSwFrame() != aTmpFrame || pFrame->getSwPrint() != aTmpPrt ||
+
+        if( pFrame->getFrameArea() != aTmpFrame || pFrame->getFramePrintArea() != aTmpPrt ||
             ( pFrame->IsTextFrame() && !const_cast<SwTextFrame*>(static_cast<const SwTextFrame*>(pFrame))->Paint().IsEmpty() ) )
+        {
             pFrame->SetCompletePaint();
+        }
     }
+
     return const_cast<SwTextFrame*>(static_cast<const SwTextFrame*>(pFrame))->GetFormatted();
 }
 
@@ -652,7 +657,7 @@ bool SwAutoFormat::DoTable()
             {
                 eHori = text::HoriOrientation::NONE;
                 // then - as last - we need to add the current frame width into the array
-                aPosArr.push_back( static_cast<sal_uInt16>(m_pCurTextFrame->getSwFrame().Width()) );
+                aPosArr.push_back( static_cast<sal_uInt16>(m_pCurTextFrame->getFrameArea().Width()) );
             }
             else
                 eHori = text::HoriOrientation::LEFT;
@@ -1374,7 +1379,7 @@ void SwAutoFormat::BuildEnum( sal_uInt16 nLvl, sal_uInt16 nDigitLevel )
     bool bBreak = true;
 
     // first, determine current indentation and frame width
-    SwTwips nFrameWidth = m_pCurTextFrame->getSwPrint().Width();
+    SwTwips nFrameWidth = m_pCurTextFrame->getFramePrintArea().Width();
     SwTwips nLeftTextPos;
     {
         sal_Int32 nPos(0);
diff --git a/sw/source/core/edit/edattr.cxx b/sw/source/core/edit/edattr.cxx
index 494caa87c150..21aeabaa7123 100644
--- a/sw/source/core/edit/edattr.cxx
+++ b/sw/source/core/edit/edattr.cxx
@@ -503,8 +503,8 @@ bool SwEditShell::IsMoveLeftMargin( bool bRight, bool bModulus ) const
                     if ( pFrame )
                     {
                         const sal_uInt16 nFrameWidth = static_cast<sal_uInt16>( pFrame->IsVertical() ?
-                                                 pFrame->getSwFrame().Height() :
-                                                 pFrame->getSwFrame().Width() );
+                                                 pFrame->getFrameArea().Height() :
+                                                 pFrame->getFrameArea().Width() );
                         bRet = nFrameWidth > ( nNext + MM50 );
                     }
                     else
diff --git a/sw/source/core/edit/editsh.cxx b/sw/source/core/edit/editsh.cxx
index 1ae8b8b29cc4..9a560070c349 100644
--- a/sw/source/core/edit/editsh.cxx
+++ b/sw/source/core/edit/editsh.cxx
@@ -887,7 +887,7 @@ void SwEditShell::SetLineNumberInfo(const SwLineNumberInfo& rInfo)
     StartAllAction();
     SET_CURR_SHELL( this );
     GetDoc()->SetLineNumberInfo(rInfo);
-    AddPaintRect( GetLayout()->getSwFrame() );
+    AddPaintRect( GetLayout()->getFrameArea() );
     EndAllAction();
 }
 
diff --git a/sw/source/core/fields/expfld.cxx b/sw/source/core/fields/expfld.cxx
index 658bfb18e542..3b73ebeca588 100644
--- a/sw/source/core/fields/expfld.cxx
+++ b/sw/source/core/fields/expfld.cxx
@@ -149,7 +149,7 @@ SwTextNode* GetFirstTextNode( const SwDoc& rDoc, SwPosition& rPos,
         OSL_ENSURE( pTextNode, "Where is the 1. TextNode?" );
         rPos.nContent.Assign( pTextNode, 0 );
     }
-    else if ( !pCFrame->IsValid() )
+    else if ( !pCFrame->isFrameAreaDefinitionValid() )
     {
         pTextNode = const_cast<SwTextNode*>(static_cast<const SwTextNode*>(pCFrame->GetNode()));
         rPos.nNode = *pTextNode;
@@ -206,7 +206,7 @@ const SwTextNode* GetBodyTextNode( const SwDoc& rDoc, SwPosition& rPos,
             else
             {
                 pLayout->FindPageFrame()->GetContentPosition(
-                                                pLayout->getSwFrame().Pos(), rPos );
+                                                pLayout->getFrameArea().Pos(), rPos );
                 pTextNode = rPos.nNode.GetNode().GetTextNode();
             }
         }
@@ -246,7 +246,7 @@ const SwTextNode* GetBodyTextNode( const SwDoc& rDoc, SwPosition& rPos,
             }
             else
             {
-                Point aPt( pLayout->getSwFrame().Pos() );
+                Point aPt( pLayout->getFrameArea().Pos() );
                 aPt.Y()++;      // get out of the header
                 pContentFrame = pPgFrame->GetContentPos( aPt, false, true );
                 pTextNode = GetFirstTextNode( rDoc, rPos, pContentFrame, aPt );
diff --git a/sw/source/core/fields/postithelper.cxx b/sw/source/core/fields/postithelper.cxx
index 333cb740cf9a..6261e0ebc609 100644
--- a/sw/source/core/fields/postithelper.cxx
+++ b/sw/source/core/fields/postithelper.cxx
@@ -74,8 +74,8 @@ SwPostItHelper::SwLayoutStatus SwPostItHelper::getLayoutInfos(
                     o_rInfo.mnStartNodeIdx = 0;
                     o_rInfo.mnStartContent = -1;
                 }
-                o_rInfo.mPageFrame = pPage->getSwFrame();
-                o_rInfo.mPagePrtArea = pPage->getSwPrint();
+                o_rInfo.mPageFrame = pPage->getFrameArea();
+                o_rInfo.mPagePrtArea = pPage->getFramePrintArea();
                 o_rInfo.mPagePrtArea.Pos() += o_rInfo.mPageFrame.Pos();
                 o_rInfo.mnPageNumber = pPage->GetPhyPageNum();
                 o_rInfo.meSidebarPosition = pPage->SidebarPosition();
@@ -105,7 +105,7 @@ SwPostItHelper::SwLayoutStatus SwPostItHelper::getLayoutInfos(
 
 long SwPostItHelper::getLayoutHeight( const SwRootFrame* pRoot )
 {
-    long nRet = pRoot ? pRoot->getSwFrame().Height() : 0;
+    long nRet = pRoot ? pRoot->getFrameArea().Height() : 0;
     return nRet;
 }
 
@@ -126,7 +126,7 @@ unsigned long SwPostItHelper::getPageInfo( SwRect& rPageFrame, const SwRootFrame
     if( pPage )
     {
         nRet = pPage->GetPhyPageNum();
-        rPageFrame = pPage->getSwFrame();
+        rPageFrame = pPage->getFrameArea();
     }
     return nRet;
 }
diff --git a/sw/source/core/fields/reffld.cxx b/sw/source/core/fields/reffld.cxx
index 182a7097fca4..efb7c0fe9c3d 100644
--- a/sw/source/core/fields/reffld.cxx
+++ b/sw/source/core/fields/reffld.cxx
@@ -146,22 +146,22 @@ bool IsFrameBehind( const SwTextNode& rMyNd, sal_Int32 nMySttPos,
             if( bVert )
             {
                 if( bR2L )
-                    bRefIsLower = pRefFrame->getSwFrame().Top() < pFieldFrame->getSwFrame().Top() ||
-                            ( pRefFrame->getSwFrame().Top() == pFieldFrame->getSwFrame().Top() &&
-                              pRefFrame->getSwFrame().Left() < pFieldFrame->getSwFrame().Left() );
+                    bRefIsLower = pRefFrame->getFrameArea().Top() < pFieldFrame->getFrameArea().Top() ||
+                            ( pRefFrame->getFrameArea().Top() == pFieldFrame->getFrameArea().Top() &&
+                              pRefFrame->getFrameArea().Left() < pFieldFrame->getFrameArea().Left() );
                 else
-                    bRefIsLower = pRefFrame->getSwFrame().Top() < pFieldFrame->getSwFrame().Top() ||
-                            ( pRefFrame->getSwFrame().Top() == pFieldFrame->getSwFrame().Top() &&
-                              pRefFrame->getSwFrame().Left() > pFieldFrame->getSwFrame().Left() );
+                    bRefIsLower = pRefFrame->getFrameArea().Top() < pFieldFrame->getFrameArea().Top() ||
+                            ( pRefFrame->getFrameArea().Top() == pFieldFrame->getFrameArea().Top() &&
+                              pRefFrame->getFrameArea().Left() > pFieldFrame->getFrameArea().Left() );
             }
             else if( bR2L )
-                bRefIsLower = pRefFrame->getSwFrame().Left() > pFieldFrame->getSwFrame().Left() ||
-                            ( pRefFrame->getSwFrame().Left() == pFieldFrame->getSwFrame().Left() &&
-                              pRefFrame->getSwFrame().Top() < pFieldFrame->getSwFrame().Top() );
+                bRefIsLower = pRefFrame->getFrameArea().Left() > pFieldFrame->getFrameArea().Left() ||
+                            ( pRefFrame->getFrameArea().Left() == pFieldFrame->getFrameArea().Left() &&
+                              pRefFrame->getFrameArea().Top() < pFieldFrame->getFrameArea().Top() );
             else
-                bRefIsLower = pRefFrame->getSwFrame().Left() < pFieldFrame->getSwFrame().Left() ||
-                            ( pRefFrame->getSwFrame().Left() == pFieldFrame->getSwFrame().Left() &&
-                              pRefFrame->getSwFrame().Top() < pFieldFrame->getSwFrame().Top() );
+                bRefIsLower = pRefFrame->getFrameArea().Left() < pFieldFrame->getFrameArea().Left() ||
+                            ( pRefFrame->getFrameArea().Left() == pFieldFrame->getFrameArea().Left() &&
+                              pRefFrame->getFrameArea().Top() < pFieldFrame->getFrameArea().Top() );
             pRefFrame = nullptr;
         }
         else if( ( SwFrameType::Column | SwFrameType::Cell ) & pFieldFrame->GetType() )
@@ -175,22 +175,22 @@ bool IsFrameBehind( const SwTextNode& rMyNd, sal_Int32 nMySttPos,
         if( bVert )
         {
             if( bR2L )
-                bRefIsLower = pRefFrame->getSwFrame().Left() < pFieldFrame->getSwFrame().Left() ||
-                            ( pRefFrame->getSwFrame().Left() == pFieldFrame->getSwFrame().Left() &&
-                                pRefFrame->getSwFrame().Top() < pFieldFrame->getSwFrame().Top() );
+                bRefIsLower = pRefFrame->getFrameArea().Left() < pFieldFrame->getFrameArea().Left() ||
+                            ( pRefFrame->getFrameArea().Left() == pFieldFrame->getFrameArea().Left() &&
+                                pRefFrame->getFrameArea().Top() < pFieldFrame->getFrameArea().Top() );
             else
-                bRefIsLower = pRefFrame->getSwFrame().Left() > pFieldFrame->getSwFrame().Left() ||
-                            ( pRefFrame->getSwFrame().Left() == pFieldFrame->getSwFrame().Left() &&
-                                pRefFrame->getSwFrame().Top() < pFieldFrame->getSwFrame().Top() );
+                bRefIsLower = pRefFrame->getFrameArea().Left() > pFieldFrame->getFrameArea().Left() ||
+                            ( pRefFrame->getFrameArea().Left() == pFieldFrame->getFrameArea().Left() &&
+                                pRefFrame->getFrameArea().Top() < pFieldFrame->getFrameArea().Top() );
         }
         else if( bR2L )
-            bRefIsLower = pRefFrame->getSwFrame().Top() < pFieldFrame->getSwFrame().Top() ||
-                        ( pRefFrame->getSwFrame().Top() == pFieldFrame->getSwFrame().Top() &&
-                            pRefFrame->getSwFrame().Left() > pFieldFrame->getSwFrame().Left() );
+            bRefIsLower = pRefFrame->getFrameArea().Top() < pFieldFrame->getFrameArea().Top() ||
+                        ( pRefFrame->getFrameArea().Top() == pFieldFrame->getFrameArea().Top() &&
+                            pRefFrame->getFrameArea().Left() > pFieldFrame->getFrameArea().Left() );
         else
-            bRefIsLower = pRefFrame->getSwFrame().Top() < pFieldFrame->getSwFrame().Top() ||
-                        ( pRefFrame->getSwFrame().Top() == pFieldFrame->getSwFrame().Top() &&
-                            pRefFrame->getSwFrame().Left() < pFieldFrame->getSwFrame().Left() );
+            bRefIsLower = pRefFrame->getFrameArea().Top() < pFieldFrame->getFrameArea().Top() ||
+                        ( pRefFrame->getFrameArea().Top() == pFieldFrame->getFrameArea().Top() &&
+                            pRefFrame->getFrameArea().Left() < pFieldFrame->getFrameArea().Left() );
     }
     return bRefIsLower;
 }
diff --git a/sw/source/core/frmedt/fecopy.cxx b/sw/source/core/frmedt/fecopy.cxx
index e2f3ffccd671..cfcced343bd3 100644
--- a/sw/source/core/frmedt/fecopy.cxx
+++ b/sw/source/core/frmedt/fecopy.cxx
@@ -239,7 +239,7 @@ bool SwFEShell::Copy( SwDoc* pClpDoc, const OUString* pNewClpText )
 static const Point &lcl_FindBasePos( const SwFrame *pFrame, const Point &rPt )
 {
     const SwFrame *pF = pFrame;
-    while ( pF && !pF->getSwFrame().IsInside( rPt ) )
+    while ( pF && !pF->getFrameArea().IsInside( rPt ) )
     {
         if ( pF->IsContentFrame() )
             pF = static_cast<const SwContentFrame*>(pF)->GetFollow();
@@ -247,9 +247,9 @@ static const Point &lcl_FindBasePos( const SwFrame *pFrame, const Point &rPt )
             pF = nullptr;
     }
     if ( pF )
-        return pF->getSwFrame().Pos();
+        return pF->getFrameArea().Pos();
     else
-        return pFrame->getSwFrame().Pos();
+        return pFrame->getFrameArea().Pos();
 }
 
 static bool lcl_SetAnchor( const SwPosition& rPos, const SwNode& rNd, SwFlyFrame const * pFly,
@@ -271,14 +271,14 @@ static bool lcl_SetAnchor( const SwPosition& rPos, const SwNode& rNd, SwFlyFrame
             const SwNodeIndex& rIdx = *pTmpFly->GetFormat()->GetContent().GetContentIdx();
             SwPosition aPos( rIdx );
             rAnchor.SetAnchor( &aPos );
-            rNewPos = pTmpFly->getSwFrame().Pos();
+            rNewPos = pTmpFly->getFrameArea().Pos();
         }
         else
         {
             rAnchor.SetType( RndStdIds::FLY_AT_PAGE );
             rAnchor.SetPageNum( rDestShell.GetPageNumber( rInsPt ) );
             const SwFrame *pPg = pTmpFrame->FindPageFrame();
-            rNewPos = pPg->getSwFrame().Pos();
+            rNewPos = pPg->getFrameArea().Pos();
         }
     }
     else
@@ -377,7 +377,7 @@ bool SwFEShell::CopyDrawSel( SwFEShell* pDestShell, const Point& rSttPt,
                 const SwRootFrame* pTmpRoot = pDestShell->GetLayout();
                 const SwFrame* pPg = pTmpRoot->GetPageAtPos( rInsPt, nullptr, true );
                 if ( pPg )
-                    aNewAnch = pPg->getSwFrame().Pos();
+                    aNewAnch = pPg->getFrameArea().Pos();
             }
 
             if( bRet )
@@ -496,7 +496,7 @@ bool SwFEShell::Copy( SwFEShell* pDestShell, const Point& rSttPt,
                 // from the passed DocumentPosition
                 SwPosition aPos( *GetCursor()->GetPoint() );
                 Point aPt( rInsPt );
-                aPt -= rSttPt - pFly->getSwFrame().Pos();
+                aPt -= rSttPt - pFly->getFrameArea().Pos();
                 SwCursorMoveState aState( MV_SETONLYTEXT );
                 GetLayout()->GetCursorOfst( &aPos, aPt, &aState );
                 const SwNode *pNd;
@@ -533,7 +533,7 @@ bool SwFEShell::Copy( SwFEShell* pDestShell, const Point& rSttPt,
             const SwRootFrame* pTmpRoot = pDestShell->GetLayout();
             const SwFrame* pPg = pTmpRoot->GetPageAtPos( rInsPt, nullptr, true );
             if ( pPg )
-                aNewAnch = pPg->getSwFrame().Pos();
+                aNewAnch = pPg->getFrameArea().Pos();
         }
         else {
             OSL_ENSURE( false, "what anchor is it?" );
@@ -548,7 +548,7 @@ bool SwFEShell::Copy( SwFEShell* pDestShell, const Point& rSttPt,
             {
                 Point aPos( rInsPt );
                 aPos -= aNewAnch;
-                aPos -= rSttPt - pFly->getSwFrame().Pos();
+                aPos -= rSttPt - pFly->getFrameArea().Pos();
                 pFlyFormat->SetFormatAttr( SwFormatHoriOrient( aPos.getX(),text::HoriOrientation::NONE, text::RelOrientation::FRAME ) );
                 pFlyFormat->SetFormatAttr( SwFormatVertOrient( aPos.getY(),text::VertOrientation::NONE, text::RelOrientation::FRAME ) );
             }
@@ -1244,7 +1244,7 @@ bool SwFEShell::GetDrawObjGraphic( SotClipboardFormatId nFormat, Graphic& rGrf )
                         // Not the original size, but the current one.
                         // Otherwise it could happen that for vector graphics
                         // many MB's of memory are allocated.
-                        const Size aSz( GetSelectedFlyFrame()->getSwPrint().SSize() );
+                        const Size aSz( GetSelectedFlyFrame()->getFramePrintArea().SSize() );
                         ScopedVclPtrInstance< VirtualDevice > pVirtDev(*GetWin());
 
                         MapMode aTmp( MapUnit::MapTwip );
diff --git a/sw/source/core/frmedt/fedesc.cxx b/sw/source/core/frmedt/fedesc.cxx
index da44435f05ed..b8ea451526bc 100644
--- a/sw/source/core/frmedt/fedesc.cxx
+++ b/sw/source/core/frmedt/fedesc.cxx
@@ -147,7 +147,7 @@ size_t SwFEShell::GetMousePageDesc( const Point &rPt ) const
             static_cast<const SwPageFrame*>( GetLayout()->Lower() );
         if( pPage )
         {
-            while( pPage->GetNext() && rPt.Y() > pPage->getSwFrame().Bottom() )
+            while( pPage->GetNext() && rPt.Y() > pPage->getFrameArea().Bottom() )
                 pPage = static_cast<const SwPageFrame*>( pPage->GetNext() );
             SwDoc *pMyDoc = GetDoc();
             size_t nPos;
diff --git a/sw/source/core/frmedt/fefly1.cxx b/sw/source/core/frmedt/fefly1.cxx
index 139a1a2ba0dc..f36eac32c09c 100644
--- a/sw/source/core/frmedt/fefly1.cxx
+++ b/sw/source/core/frmedt/fefly1.cxx
@@ -142,7 +142,7 @@ static bool lcl_FindAnchorPos(
                 if( !pNewAnch->GetCursorOfst( &aPos, aTmpPnt, &aState ) )
                 {
                     SwContentNode* pCNd = const_cast<SwContentFrame*>(static_cast<const SwContentFrame*>(pNewAnch))->GetNode();
-                    if( pNewAnch->getSwFrame().Bottom() < aTmpPnt.Y() )
+                    if( pNewAnch->getFrameArea().Bottom() < aTmpPnt.Y() )
                         pCNd->MakeStartIndex( &aPos.nContent );
                     else
                         pCNd->MakeEndIndex( &aPos.nContent );

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list