20#include <config_wasm_strip.h>
31#include <osl/diagnose.h>
39#include <lineinfo.hxx>
69#include <objectformatter.hxx>
81#include <boost/circular_buffer.hpp>
88 bool isFlyCreationSuppressed =
false;
92 : m_wasAlreadySuppressed(isFlyCreationSuppressed)
94 (void)wasAlreadySuppressedAllowed;
95 assert(wasAlreadySuppressedAllowed || !isFlyCreationSuppressed);
96 isFlyCreationSuppressed =
true;
112 maFrame( pF->getFrameArea() ),
113 maPrt( pF->getFramePrintArea() ),
115 mbValidSize( pF->isFrameAreaSizeValid() )
140 const bool bChgWidth =
142 const bool bChgHeight =
150 SwFlowFrame *pFlow = SwFlowFrame::CastFlowFrame(
mpFrame );
152 if ( !pFlow->IsFollow() )
173 bInvalidPrePos =
true;
177 if ( bInvalidPrePos )
182 else if ( !pFlow->HasFollow() )
186 if( (nOldHeight > nNewHeight) || (!nOldHeight && nNewHeight) )
227 const bool bPrtWidth =
229 const bool bPrtHeight =
231 if ( bPrtWidth || bPrtHeight )
233 bool bUseNewFillProperties(
false);
237 if(aFillAttributes && aFillAttributes->isUsed())
239 bUseNewFillProperties =
true;
241 if(aFillAttributes->needCompleteRepaint())
247 if (!bUseNewFillProperties)
259 if ( !bAbsP && (bChgWidth || bChgHeight) )
266 if ( bAbsP || bPrtP || bChgWidth || bChgHeight ||
267 bPrtWidth || bPrtHeight || bChgFlyBasePos )
269#if !ENABLE_WASM_STRIP_ACCESSIBILITY
290 bool bNotify =
false;
291 bool bNotifySize =
false;
294 if ( !bAnchoredAsChar )
310 pObj->DynCastFlyFrame() !=
nullptr )
322 if ( pPageFrame != pFlyPageFrame )
324 OSL_ENSURE( pFlyPageFrame,
"~SwFrameNotify: Fly from Nowhere" );
326 pFlyPageFrame->
MoveFly( pFlyFrame, pPageFrame );
338 if ( ( rVert.
GetVertOrient() == text::VertOrientation::CENTER ||
341 ( bChgHeight || bPrtHeight ) )
352 ( bChgWidth || bPrtWidth || bChgFlyBasePos ) )
359 else if ( bPrtWidth )
370 if (
auto pFlyFrame = pObj->DynCastFlyFrame() )
373 pFlyFrame->InvalidateSize_();
376 if ( !bAnchoredAsChar )
378 pFlyFrame->InvalidatePos_();
380 pFlyFrame->Invalidate_();
386 if ( !bAnchoredAsChar )
388 pObj->InvalidateObjPos();
393 OSL_FAIL(
"<SwContentNotify::~SwContentNotify()> - unknown anchored object type." );
399#if !ENABLE_WASM_STRIP_ACCESSIBILITY
448 m_bLowersComplete( false )
463 while ( pLowerFrame )
477 pLowerFrame = pLowerFrame->
GetNext();
485 bool bNotify =
false;
497 static_cast<SwRowFrame*
>(pLay)->AdjustCells( nNew,
true);
556 pTmpFrame = pTmpFrame->
GetNext();
590 SwFrame* pFtnLower = pFtnFrame ? pFtnFrame->
Lower() :
nullptr;
623 bool bUnlockPosOfObjs( bPos );
628 ( pTabFrame->IsJoinLocked() ||
629 ( pTabFrame->IsFollow() &&
632 bUnlockPosOfObjs =
false;
639 bUnlockPosOfObjs =
static_cast<SwFootnoteFrame*
>(pLay)->IsUnlockPosOfLowerObjs();
642 else if ( bUnlockPosOfObjs && pLay->
IsSctFrame() )
644 bUnlockPosOfObjs =
false;
667 m_pOldPage( pFlyFrame->GetPageFrame() ),
668 m_aFrameAndSpace( pFlyFrame->GetObjRectWithSpaces() )
701 if ( bPosChgd || bFrameChgd || bPrtChgd )
786 mbChkHeightOfLastLine( false ),
787 mnHeightOfLastLine( 0 ),
789 mbInvalidatePrevPrtArea( false ),
790 mbBordersJoinedWithPrev( false )
821 OSL_ENSURE( pCell->
IsCellFrame(),
"Where's my cell?" );
835 while ( pPrevFrame &&
841 pPrevFrame = pPrevFrame->
FindPrev();
858 SwFrame* pLstContentOfSctFrame =
860 if ( pLstContentOfSctFrame )
883 if (
nullptr != pNd &&
887 const bool bNoTextFramePrtAreaChanged =
891 OSL_ENSURE( pCnt->
IsInFly(),
"OLE not in FlyFrame" );
896 {
if (
dynamic_cast<const SwCursorShell*
>( &rCurrentShell) !=
nullptr )
898 pFESh =
static_cast<SwFEShell*
>(&rCurrentShell);
918 bNoTextFramePrtAreaChanged );
958 for (
size_t i = 0;
i < pTable->
size(); ++
i )
962 if ( RndStdIds::FLY_AT_PAGE != rAnch.
GetAnchorId() ||
970 OSL_FAIL(
"<SwContentNotify::~SwContentNotify()> - to page anchored object with content position." );
1013 if ( pMasterFrame && !pMasterFrame->IsFlyLock() &&
1019 if ( pAnchoredObj->GetFrameFormat().GetAnchor().GetAnchorId()
1020 == RndStdIds::FLY_AT_CHAR )
1022 pAnchoredObj->CheckCharRectAndTopOfLine( !pMasterFrame->
IsEmpty() );
1036 const bool bFlyAtFly = rAnch.
GetAnchorId() == RndStdIds::FLY_AT_FLY;
1041 const bool bDrawObjInContent = bSdrObj &&
1045 (rAnch.
GetAnchorId() == RndStdIds::FLY_AT_PARA) ||
1046 (rAnch.
GetAnchorId() == RndStdIds::FLY_AT_CHAR) ||
1047 bDrawObjInContent) )
1051 if ( bSdrObj &&
nullptr == (pSdrObj = pFormat->
FindSdrObject()) )
1053 OSL_ENSURE( !bSdrObj,
"DrawObject not found." );
1100 std::vector<sw::Extent>::const_iterator
const*
const pIter,
1101 std::vector<sw::Extent>::const_iterator
const*
const pEnd,
1104 assert(!pIter || *pIter == *pEnd || (*pIter)->pNode->GetIndex() ==
nIndex);
1110 if (rAnch.
GetAnchorId() == RndStdIds::FLY_AT_PARA)
1112 return pIter ==
nullptr
1124 assert(rAnch.
GetAnchorId() != RndStdIds::FLY_AT_FLY);
1125 if (*pIter == *pEnd && rAnch.
GetAnchorId() == RndStdIds::FLY_AT_CHAR)
1131 for (
auto iter = *pIter; iter != *pEnd; ++iter)
1133 assert(iter->nStart != iter->nEnd);
1134 assert(iter->pNode->GetIndex() ==
nIndex);
1139 if (rAnch.
GetAnchorId() == RndStdIds::FLY_AT_CHAR)
1155 if (iter->nStart == 0)
1166 ? iter->pNode == pFirstNode
1174 else if (iter == *pEnd - 1)
1176 if (iter->nEnd == iter->pNode->Len())
1185 iter->pNode == pLastNode
1186 ? iter->pNode->
Len()
1194 assert(rAnch.
GetAnchorId() == RndStdIds::FLY_AS_CHAR);
1211 std::vector<sw::Extent>::const_iterator
const*
const pIter,
1212 std::vector<sw::Extent>::const_iterator
const*
const pEnd,
1219 if (rAnchor.
GetAnchorId() == RndStdIds::FLY_AT_CHAR
1220 || rAnchor.
GetAnchorId() == RndStdIds::FLY_AS_CHAR)
1223 if (!
IsShown(rNode.
GetIndex(), rAnchor, pIter, pEnd, pFirstNode, pLastNode))
1225 pFrameFormat->DelFrames();
1233 std::vector<sw::Extent>::const_iterator
const*
const pIter,
1234 std::vector<sw::Extent>::const_iterator
const*
const pEnd,
1237#if OSL_DEBUG_LEVEL > 0
1238 std::vector<SwFrameFormat*> checkFormats;
1239 for (
size_t i = 0;
i < pTable->
size(); ++
i )
1246 checkFormats.push_back( pFormat );
1255 for (
size_t it = 0; it != rFlys.size(); )
1262#if OSL_DEBUG_LEVEL > 0
1263 std::vector<SwFrameFormat*>::iterator checkPos = std::find( checkFormats.begin(), checkFormats.end(), pFormat );
1264 assert( checkPos != checkFormats.end());
1265 checkFormats.erase( checkPos );
1267 AppendObj(pFrame, pPage, pFormat, rAnch);
1272#if OSL_DEBUG_LEVEL > 0
1273 assert( checkFormats.empty());
1286 std::vector<sw::Extent>::const_iterator iterFirst(pMerged->extents.begin());
1287 std::vector<sw::Extent>::const_iterator iter(iterFirst);
1288 SwTextNode const* pNode(pMerged->pFirstNode);
1291 if (iter == pMerged->extents.end()
1292 || iter->pNode != pNode)
1295 &iterFirst, &iter, pMerged->pFirstNode, pMerged->pLastNode);
1296 SwNodeOffset const until = iter == pMerged->extents.end()
1297 ? pMerged->pLastNode->GetIndex() + 1
1298 : iter->pNode->GetIndex();
1306 AppendObjsOfNode(pTable, pTmp->
GetIndex(), pFrame, pPage, pDoc, &iter, &iter, pMerged->pFirstNode, pMerged->pLastNode);
1309 if (iter == pMerged->extents.end())
1313 pNode = iter->pNode;
1331 assert(rAnchor.
GetAnchorId() == RndStdIds::FLY_AT_PARA ||
1332 rAnchor.
GetAnchorId() == RndStdIds::FLY_AT_CHAR ||
1339 auto iterFirst(pMergedPara->extents.cbegin());
1340 if (iterFirst == pMergedPara->extents.end()
1341 && (rAnchor.
GetAnchorId() == RndStdIds::FLY_AT_PARA
1342 || rAnchor.
GetAnchorId() == RndStdIds::FLY_AT_CHAR))
1344 ret = (pAnchorNode == pMergedPara->pFirstNode
1345 && (rAnchor.
GetAnchorId() == RndStdIds::FLY_AT_PARA
1347 || (pAnchorNode == pMergedPara->pLastNode
1348 && (rAnchor.
GetAnchorId() == RndStdIds::FLY_AT_PARA
1351 auto iter(iterFirst);
1352 SwTextNode const* pNode(pMergedPara->pFirstNode);
1355 if (iter == pMergedPara->extents.end()
1356 || iter->pNode != pNode)
1359 if (pNode == pAnchorNode)
1362 pMergedPara->pFirstNode, pMergedPara->pLastNode);
1365 if (iter == pMergedPara->extents.end())
1369 pNode = iter->pNode;
1386 boost::circular_buffer<SwFrameFormat*> vFormatsToConnect(pTable->
size());
1387 for(
const auto& pFormat : *pTable)
1389 const auto& rAnch = pFormat->GetAnchor();
1392 if ((rAnch.GetAnchorId() != RndStdIds::FLY_AT_PAGE) && (rAnch.GetAnchorId() != RndStdIds::FLY_AS_CHAR))
1394 const SwNode* pAnchorNode = rAnch.GetAnchorNode();
1397 pFormat->MakeFrames();
1399 vFormatsToConnect.push_back(pFormat);
1404 while(!vFormatsToConnect.empty())
1406 auto& pFormat = vFormatsToConnect.front();
1407 bool isConnected(
false);
1411 pFormat->MakeFrames();
1415 vFormatsToConnect.pop_front();
1418 if(pFirstRequeued == pFormat)
1422 pFirstRequeued = pFormat;
1423 assert(!vFormatsToConnect.full());
1424 vFormatsToConnect.push_back(pFormat);
1428 pFirstRequeued =
nullptr;
1437 std::vector<SwTextFrame*> frames;
1441 if (pFrame->getRootFrame()->HasMergedParas())
1443 frames.push_back(pFrame);
1452 SwTextNode & rFirstNode(pFrame->GetMergedPara()
1453 ? *pFrame->GetMergedPara()->pFirstNode
1457 pFrame->SetMergedPara(
nullptr);
1459 *pFrame, rFirstNode,
eMode));
1480 if ( aRectFnSet.
IsVert() )
1482 aFrm.
Pos().AdjustX( -1 );
1486 aFrm.
Pos().AdjustY(1 );
1497 if( bOldCallbackActionEnabled )
1514 const bool bStartPercent = bPages && !nEndIndex;
1519 std::unique_ptr<SwActualSection> pActualSection;
1520 std::unique_ptr<SwLayHelper> pPageMaker;
1529 pPageMaker.reset(
new SwLayHelper( pDoc, pFrame, pPrv, pPage, pLay,
1533 const sal_uLong nPageCount = pPageMaker->CalcPageCount();
1539 pPageMaker =
nullptr;
1572 pUpperSection = pTmp;
1575 "InsertCnt_: Wrong Call" );
1606 pPageMaker->CheckInsert(
nIndex );
1614#if !ENABLE_WASM_STRIP_ACCESSIBILITY
1627 pNext ? pNext->DynCastTextFrame() :
nullptr,
1628 pPrev ? pPrev->DynCastTextFrame() :
nullptr );
1659 && pRedline->
GetType() == RedlineType::Delete
1662 SAL_WARN(
"sw.pageframe",
"skipping table frame creation on bizarre redline");
1698 pPageMaker->CheckInsert(
nIndex );
1710#if !ENABLE_WASM_STRIP_ACCESSIBILITY
1722 pNext ? pNext->DynCastTextFrame() :
nullptr,
1723 pPrev ? pPrev->DynCastTextFrame() :
nullptr );
1741 pTmpFrame = pTmpFrame->IsFollow() ? pTmpFrame->
FindMaster() :
nullptr;
1761 if ( pActualSection->GetUpper() )
1791 if (
nIndex + 1 == nEndIndex
1802 && pActualSection->GetUpper()
1803 && pActualSection->GetUpper()->GetSectionNode() ==
1819 assert(!pParent->
Lower());
1821 pNext->
Paste(pParent,
nullptr);
1829#if !ENABLE_WASM_STRIP_ACCESSIBILITY
1841 pNext ? pNext->DynCastTextFrame() :
nullptr,
1842 pPrev ? pPrev->DynCastTextFrame() :
nullptr );
1888 assert(pActualSection &&
"Section end without section start?");
1893 pActualSection.reset(pActualSection->GetUpper());
1895 if ( pActualSection )
1914 pFrame = pActualSection->GetSectionNode()->MakeFrame( pLay );
1922 SwSectionFrame* pOuterSectionFrame = pActualSection->GetSectionFrame();
1928 pOuterSectionFrame->SetFollow(
nullptr );
1934 if (pOuterSectionFrame &&
1938 pOuterSectionFrame->
DelEmpty(
true );
1941 pActualSection->SetSectionFrame(
static_cast<SwSectionFrame*
>(pFrame) );
1981 if ( pActualSection )
1984 if ( !(pLay = pActualSection->GetSectionFrame())->ContainsContent() )
1989 pActualSection.reset();
1994 if ( !isFlyCreationSuppressed )
2001 pPageMaker->CheckFlyCache( pPage );
2013 if( bOldCallbackActionEnabled )
2028 bool bApres = *pNd < rSttIdx;
2031 ::std::vector<SwFrame*> frames;
2035 frames.push_back(pFrame);
2037 for (
SwFrame *
const pFrame : frames)
2041 bool bOldLock, bOldFootnote;
2042 if( pFootnoteFrame )
2048 bOldFootnote =
true;
2066 bool bMoveNext = nEndIdx - rSttIdx.GetIndex() >
SwNodeOffset(120);
2067 bool bAllowMove = !pFrame->IsInFly() && pFrame->IsMoveable() &&
2068 (!pFrame->IsInTab() || pFrame->IsTabFrame() );
2069 if ( bMoveNext && bAllowMove )
2073 SwFlowFrame *pTmp = SwFlowFrame::CastFlowFrame( pMove );
2080 assert(!pTmp->HasFollow() &&
"prev. node's frame is not last");
2090 if( pCol && !pMove )
2109 }
while( !pMove && pCol );
2121 pTmp = SwFlowFrame::CastFlowFrame( pMove );
2131 assert(!pTmp->IsFollow() &&
"next node's frame is not master");
2141 pTmp = SwFlowFrame::CastFlowFrame( pMove );
2152 bool bTmpOldLock = pTmp->IsJoinLocked();
2154 while( pTmp->MoveFwd(
true,
false,
true ) )
2156 if( pOldUp == pTmp->GetFrame().
GetUpper() )
2158 pOldUp = pTmp->GetFrame().
GetUpper();
2164 pFrame->IsInDocBody(), nEndIdx, pPrev,
eMode );
2171 if( pSct && rSttIdx.IsSectionNode() )
2173 bSplit = pSct->
SplitSect( pFrame, bApres );
2174 if( !bSplit && !bApres )
2184 nEndIdx, pPrv,
eMode );
2187 if( !isFlyCreationSuppressed )
2190 if( !pTable->
empty() )
2195 if( bSplit && pSct && pSct->
GetNext()
2198 if( pFrame->IsInFly() )
2199 pFrame->FindFlyFrame()->Invalidate_();
2200 if( pFrame->IsInTab() )
2201 pFrame->InvalidateSize();
2229 , m_rAttrSet(pConstructor->IsContentFrame()
2230 ? pConstructor->IsTextFrame()
2231 ? static_cast<const
SwTextFrame*>(pConstructor)->GetTextNodeForParaProps()->GetSwAttrSet()
2234 , m_rUL(m_rAttrSet.GetULSpace())
2235 , m_rBox(m_rAttrSet.GetBox())
2236 , m_rShadow(m_rAttrSet.GetShadow())
2237 , m_aFrameSize(m_rAttrSet.GetFrameSize().GetSize())
2239 , m_bJoinedWithPrev(false)
2240 , m_bJoinedWithNext(false)
2248 , m_nGetBottomLine(0)
2304 if (bGutterAtTop &&
m_xLR)
2345 nRight +=
m_xLR->GetRight();
2350 nRight +=
static_cast<const SwTextFrame*
>(pCaller)->GetTextNodeForParaProps()->GetLeftMarginWithNum();
2355 const auto pPageFrame =
static_cast<const SwPageFrame*
>(pCaller);
2364 nRight += nGutterMargin;
2377 if (pSortedObjs->
size() > 0)
2380 if (
auto pFly =
pObject->DynCastFlyFrame())
2382 if (pFly->Lower() && pFly->Lower()->IsTabFrame())
2409 bool bIgnoreMargin =
false;
2417 bIgnoreMargin =
true;
2420 bIgnoreMargin =
true;
2428 nLeft +=
m_xLR->GetLeft();
2434 nLeft +=
static_cast<const SwTextFrame*
>(pCaller)->GetTextNodeForParaProps()->GetLeftMarginWithNum();
2439 const auto pPageFrame =
static_cast<const SwPageFrame*
>(pCaller);
2447 nLeft += nGutterMargin;
2506 return ( ((pL1 && pL2) && (*pL1 == *pL2)) || (!pL1 && !pL2) );
2525 const SwFrame& _rCmpFrame )
const
2527 bool bReturnVal =
false;
2558 const SwFrame* pPrevFrame = _pPrevFrame ? _pPrevFrame : _rFrame.
GetPrev();
2560 while ( pPrevFrame && pPrevFrame->
IsTextFrame() &&
2563 pPrevFrame = pPrevFrame->
GetPrev();
2592 while ( pNextFrame && pNextFrame->
IsTextFrame() &&
2595 pNextFrame = pNextFrame->
GetNext();
2613 const SwFrame* _pPrevFrame )
const
2685 ?
static_cast<const SwTextFrame&
>(rFrame).GetTextNodeForParaProps()
2694 m_pConstructor( pFrame )
2711 m_pCurrent( nullptr )
2722 if ( !pObjs->
size() )
2725 sal_uInt32 nTopOrd = 0;
2726 (*pObjs)[0]->GetDrawObj()->GetOrdNum();
2733 if ( nTmp >= nTopOrd )
2746 sal_uInt32 nBotOrd = USHRT_MAX;
2748 if ( pObjs->
size() )
2750 (*pObjs)[0]->GetDrawObj()->GetOrdNum();
2757 if ( nTmp < nBotOrd )
2774 sal_uInt32 nOrd = USHRT_MAX;
2776 if ( pObjs->
size() )
2778 (*pObjs)[0]->GetDrawObj()->GetOrdNum();
2785 if ( nTmp > nCurOrd && nTmp < nOrd )
2804 if ( !pObjs->
size() )
2807 sal_uInt32 nOrd = 0;
2808 (*pObjs)[0]->GetDrawObj()->GetOrdNum();
2815 if ( nTmp < nCurOrd && nTmp >= nOrd )
2835 OSL_ENSURE( _pFrame->
GetDrawObjs(),
"no DrawObjs in lcl_RemoveObjsFromPage." );
2841 pObj->ClearVertPosOrientFrame();
2843 pObj->ResetLayoutProcessBools();
2846 if (
auto pFlyFrame = pObj->DynCastFlyFrame() )
2850 if ( pFlyFrame->GetDrawObjs() )
2862 if ( pFlyFrame->IsFlyFreeFrame() )
2866 pPg->RemoveFlyFromPage(pFlyFrame);
2872 if (pObj->GetFrameFormat().GetAnchor().GetAnchorId() != RndStdIds::FLY_AS_CHAR)
2875 pPg->RemoveDrawObjFromPage( *pDrawObj );
2887 if (
nullptr == pSav )
2913 }
while ( pTmp != pSect );
2919 bool bGo = pStart == pSav;
2948 OSL_ENSURE( !pFloat,
"new FloatFrame?" );
2956 if( !bGo && pFloat == pStart )
2960 pFloat->
mpPrev =
nullptr;
2986 bGo = bGo || ( pStart == pFloat );
2989 return bGo ? pStart :
nullptr;
2996 OSL_ENSURE( _pFrame->
GetDrawObjs(),
"no DrawObjs in lcl_AddObjsToPage." );
3002 pObj->UnlockPosition();
3005 if (
auto pFlyFrame = pObj->DynCastFlyFrame() )
3007 if (pFlyFrame->IsFlyFreeFrame())
3011 pFlyFrame->InvalidatePos_();
3012 pFlyFrame->InvalidateSize_();
3013 pFlyFrame->InvalidatePage( _pPage );
3017 if ( pFlyFrame->GetDrawObjs() )
3033 if (pObj->GetFrameFormat().GetAnchor().GetAnchorId() != RndStdIds::FLY_AS_CHAR)
3035 pObj->InvalidateObjPos();
3045 OSL_ENSURE( pSav && pParent,
"no Save or Parent provided for RestoreContent." );
3066 SwFlowFrame *pFlowFrame =
dynamic_cast<SwFlowFrame*
>(pSibling);
3067 if (pFlowFrame && pFlowFrame->GetFollow())
3097 static_cast<SwTextFrame*
>(pSav)->GetCacheIdx() != USHRT_MAX )
3111 static_cast<SwTextFrame*
>(pBlub)->GetCacheIdx() != USHRT_MAX )
3128 pParent->
Grow( nGrowVal );
3138 bool const isFirstPageOfLayoutOdd(nFirstVirtPageNum % 2 == 1);
3139 return ((nPageNum % 2) == 1) == isFirstPageOfLayoutOdd;
3145 bool const isRightPage,
bool const bFirst,
bool bInsertEmpty,
3148 bool const bVeryFirstPage )
3181 OSL_ENSURE( pFormat,
"Descriptor without any format?!" );
3182 bInsertEmpty = !bInsertEmpty;
3189 SAL_INFO(
"sw.pageframe",
"InsertNewPage - insert empty p: " << pRet <<
" d: " << pTmpDesc );
3190 pRet->
Paste( pUpper, pSibling );
3193 pRet =
new SwPageFrame( pFormat, pUpper, &rDesc );
3194 SAL_INFO(
"sw.pageframe",
"InsertNewPage p: " << pRet <<
" d: " << &rDesc <<
" f: " << pFormat );
3195 pRet->
Paste( pUpper, pSibling );
3228 if ( pPage != pObj->GetPageFrame() )
3232 pPg->RemoveDrawObjFromPage( *pObj );
3240 pObj->GetDrawObj()->getSdrPageFromSdrObject() )
3244 pObj->GetDrawObj()->GetOrdNumDirect() );
3269 if ( rOld.
Pos() != aFrame.
Pos() )
3289 if ( pOld != pPageFrame )
3294 if ( rOld.
Left() != aFrame.
Left() )
3297 aTmp.
Union( aFrame );
3307 aTmp.
Union( aFrame );
3309 aTmp.
Right( std::max(nNew, nOld) );
3312 if ( rOld.
Top() != aFrame.
Top() )
3315 aTmp.
Union( aFrame );
3325 aTmp.
Union( aFrame );
3327 aTmp.
Bottom( std::max(nNew, nOld) );
3335 if(!bNotifyBackground &&
3340 bNotifyBackground =
true;
3343 if(bNotifyBackground)
3389 else if ( aCntPrt.
Overlaps( rRect ) )
3397 if (
auto pFly = pObj->DynCastFlyFrame() )
3399 if ( pFly->IsFlyInContentFrame() )
3432 pFlyFrame =
nullptr;
3433 pAnchor =
const_cast<SwFrame*
>(
3463 bool isValidTableBeforeAnchor(
false);
3464 while ( pCnt && pArea && pArea->
IsAnLower( pCnt ) )
3470 if ( pTab != pLastTab )
3473 isValidTableBeforeAnchor =
false;
3488 isValidTableBeforeAnchor =
true;
3497 if (!isValidTableBeforeAnchor
3501 if ( !pFlyFrame || !pFlyFrame->
IsLowerOf( pTab ) )
3509 if (!isValidTableBeforeAnchor && pCell->
IsCellFrame() &&
3527 if ( pAnchoredObj->DynCastFlyFrame() !=
nullptr )
3529 if( pAnchoredObj->GetDrawObj() == pObj )
3563 pFlyFrame && !pFly->
IsLowerOf( pFlyFrame ) )
3581 if ( bInva && pPage &&
3628 const SwFlyFrame* pFly = pFlyDrawObj->GetFlyFrame();
3637 OSL_ENSURE( pFrame,
"8-( Fly is lost in Space." );
3640 {
if ( pFrame == pCurrFrame )
3659 nAdditionalContextType;
3661 {
if ( pFrame->
GetType() & nTyp )
3676 {
if ( pFrame->
GetType() & nTyp )
3678 if( pFrame == pContext )
3708 nFlyAdd = std::max(
tools::Long(0), nFlyAdd - nLow );
3777 void SetFrame(
SwFrame* pHold );
3778 SwFrame* GetFrame() {
return m_pFrame; }
3780 bool IsSet()
const {
return m_bSet; }
3785void SwFrameHolder::SetFrame(
SwFrame* pHold )
3788 if (m_pFrame != pHold)
3791 EndListening(*m_pFrame);
3797void SwFrameHolder::Reset()
3800 EndListening(*m_pFrame);
3807 if (rHint.
GetId() == SfxHintId::Dying && &rBC == m_pFrame)
3815 std::pair<Point, bool>
const*
const pViewPosAndCalcFrame)
3817 SwFrame *pMinFrame =
nullptr, *pTmpFrame;
3818 SwFrameHolder aHolder;
3820 bool bClientIterChanged =
false;
3824 pMinFrame =
nullptr;
3826 sal_uInt64 nMinDist = 0;
3827 bClientIterChanged =
false;
3829 for( pTmpFrame = aIter.
First(); pTmpFrame; pTmpFrame = aIter.
Next() )
3831 if( pTmpFrame->GetType() & nFrameType &&
3832 ( !pLayout || pLayout == pTmpFrame->
getRootFrame() ) &&
3833 (!pTmpFrame->IsFlowFrame() ||
3834 !SwFlowFrame::CastFlowFrame( pTmpFrame )->IsFollow() ))
3836 if (pViewPosAndCalcFrame)
3840 aHolder.SetFrame( pMinFrame );
3844 if (pViewPosAndCalcFrame->second)
3851 SwFlyFrame* pFlyFrame( pTmpFrame->FindFlyFrame() );
3864 if( aIter.
IsChanged() || ( aHolder.IsSet() && !aHolder.GetFrame() ) )
3867 bClientIterChanged =
true;
3872 if (!pViewPosAndCalcFrame->second &&
3875 FAR_AWAY == pTmpFrame->getFrameArea().Pos().getX() &&
3876 FAR_AWAY == pTmpFrame->getFrameArea().Pos().getY() )
3879 aCalcRect = pTmpFrame->getFrameArea();
3881 if (aCalcRect.
Contains(pViewPosAndCalcFrame->first))
3883 pMinFrame = pTmpFrame;
3889 const Point aDiff = aCalcRectCenter - pViewPosAndCalcFrame->first;
3890 const sal_uInt64 nCurrentDist = sal_Int64(aDiff.getX()) * sal_Int64(aDiff.getX()) + sal_Int64(aDiff.getY()) * sal_Int64(aDiff.getY());
3891 if ( !pMinFrame || nCurrentDist < nMinDist )
3893 pMinFrame = pTmpFrame;
3894 nMinDist = nCurrentDist;
3900 pMinFrame = pTmpFrame;
3905 }
while( bClientIterChanged );
3907 if( pPos && pMinFrame && pMinFrame->
IsTextFrame() )
3908 return static_cast<SwTextFrame*
>(pMinFrame)->GetFrameAtPos( *pPos );
3936 while ( pLowerFrame )
3949 pLowerFrame = pLowerFrame->
GetNext();
3952 return aPrtWithoutHeaderFooter;
3964 bool& obIsLineSpacingProportional,
3965 bool bIdenticalStyles )
3976 if (bIdenticalStyles)
3979 onLowerSpacing = rULSpace.
GetLower();
3982 obIsLineSpacingProportional =
false;
3985 onLineSpacing =
static_cast<const SwTextFrame&
>(rFrame).GetLineSpace();
3986 obIsLineSpacingProportional =
3987 onLineSpacing != 0 &&
3988 static_cast<const SwTextFrame&
>(rFrame).GetLineSpace(
true ) == 0;
3991 OSL_ENSURE( onLowerSpacing >= 0 && onLineSpacing >= 0,
3992 "<GetSpacingValuesOfFrame(..)> - spacing values aren't positive!" );
4002 while ( pContent && rCell.
IsAnLower( pContent ) )
4005 if ( pTmpTab != pTab )
4026 ? pFrame->IsTextFrame()
4028 ? static_cast<
SwTextFrame const*>(pFrame)->GetTextNodeFirst()
4029 : const_cast<
SwFrame*>(pFrame)->GetDep()
4046 pLast = aIter.
Next();
css::chart::ChartAxisLabelPosition ePos
helper class to disable creation of an action by a callback event in particular, change event from a ...
virtual const SwDrawModel * GetDrawModel() const =0
Draw Model and id accessors.
virtual const SwRootFrame * GetCurrentLayout() const =0
virtual const SwRedlineTable & GetRedlineTable() const =0
virtual const SwRangeRedline * GetRedline(const SwPosition &rPos, SwRedlineTable::size_type *pFndPos) const =0
virtual bool get(DocumentSettingId id) const =0
Return the specified document setting.
virtual bool IsUpdateExpField() const =0
virtual bool IsNewDoc() const =0
virtual void BlockIdling()=0
Increment block count.
virtual void UnblockIdling()=0
Decrement block count.
const SdrPage * GetPage(sal_uInt16 nPgNum) const
virtual SdrObject * SetObjectOrdNum(size_t nOldObjNum, size_t nNewObjNum)
sal_uInt32 GetOrdNumDirect() const
void ActionChanged() const
sal_uInt32 GetOrdNum() const
virtual const tools::Rectangle & GetCurrentBoundRect() const
virtual const tools::Rectangle & GetLastBoundRect() const
SdrPage * getSdrPageFromSdrObject() const
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint)
const editeng::SvxBorderLine * GetTop() const
sal_Int16 CalcLineSpace(SvxBoxItemLine nLine, bool bEvenIfNoLine=false, bool bAllowNegative=false) const
const editeng::SvxBorderLine * GetRight() const
const editeng::SvxBorderLine * GetLeft() const
const editeng::SvxBorderLine * GetBottom() const
SvxGraphicPosition GetGraphicPos() const
virtual SvxFirstLineIndentItem * Clone(SfxItemPool *pPool=nullptr) const override
virtual SvxLRSpaceItem * Clone(SfxItemPool *pPool=nullptr) const override
tools::Long GetLeft() const
sal_uInt16 GetPropLineSpace() const
SvxInterLineSpaceRule GetInterLineSpaceRule() const
virtual SvxRightMarginItem * Clone(SfxItemPool *pPool=nullptr) const override
sal_uInt16 CalcShadowSpace(SvxShadowItemSide nShadow) const
virtual SvxTextLeftMarginItem * Clone(SfxItemPool *pPool=nullptr) const override
sal_uInt16 GetUpper() const
sal_uInt16 GetLower() const
SwSectionNode * GetSectionNode()
void SetUpper(SwActualSection *p)
class for the positioning of drawing objects
wrapper class for the positioning of Writer fly frames and drawing objects
const SwFrame * GetAnchorFrame() const
bool ConsiderForTextWrap() const
virtual void NotifyBackground(SwPageFrame *_pPageFrame, const SwRect &_rRect, PrepareHint _eHint)=0
method to trigger notification of 'background'
bool ConsiderObjWrapInfluenceOnObjPos() const
method to determine, if wrapping style influence of the anchored object has to be considered on the o...
SwPageFrame * GetPageFrame()
void SetConsiderForTextWrap(const bool _bConsiderForTextWrap)
const SwRect & GetObjRectWithSpaces() const
method to determine object area inclusive its spacing
const SdrObject * GetDrawObj() const
void SetRestartLayoutProcess(const bool _bRestartLayoutProcess)
const SvxFirstLineIndentItem & GetFirstLineIndent(bool=true) const
const SwDoc * GetDoc() const
const SwParaConnectBorderItem & GetParaConnectBorder(bool=true) const
const SvxBrushItem & GetBackground(bool=true) const
const SvxLRSpaceItem & GetLRSpace(bool=true) const
const SvxULSpaceItem & GetULSpace(bool=true) const
const SvxTextLeftMarginItem & GetTextLeftMargin(bool=true) const
const SvxFormatKeepItem & GetKeep(bool=true) const
const SvxLineSpacingItem & GetLineSpacing(bool=true) const
const SvxRightMarginItem & GetRightMargin(bool=true) const
const SwFrame * m_pConstructor
virtual SwCacheObj * NewObj() override
Can be use in NewObj.
SwBorderAttrAccess(SwCache &rCache, const SwFrame *pOwner)
const SvxShadowItem & m_rShadow
bool JoinedWithNext(const SwFrame &_rFrame) const
sal_uInt16 CalcRightLine() const
bool JoinedWithPrev(const SwFrame &_rFrame, const SwFrame *_pPrevFrame=nullptr) const
SwBorderAttrs(const sw::BorderCacheOwner *pOwner, const SwFrame *pConstructor)
const SvxBoxItem & GetBox() const
sal_uInt16 m_nGetBottomLine
const SvxULSpaceItem & m_rUL
std::unique_ptr< SvxRightMarginItem > m_pRightMargin
tools::Long CalcLeft(const SwFrame *pCaller) const
bool CmpLeftRight(const SwBorderAttrs &rCmpAttrs, const SwFrame *pCaller, const SwFrame *pCmp) const
sal_uInt16 CalcTopLine() const
sal_uInt16 CalcLeftLine() const
void GetBottomLine_(const SwFrame &_rFrame)
sal_uInt16 CalcTop() const
void GetTopLine_(const SwFrame &_rFrame, const SwFrame *_pPrevFrame)
bool m_bCachedJoinedWithNext
void CalcJoinedWithNext(const SwFrame &_rFrame)
bool m_bCachedJoinedWithPrev
const SvxShadowItem & GetShadow() const
std::unique_ptr< SvxFirstLineIndentItem > m_pFirstLineIndent
sal_uInt16 m_nLineSpacing
sal_uInt16 CalcBottomLine() const
bool m_bCachedGetBottomLine
tools::Long CalcRight(const SwFrame *pCaller) const
std::shared_ptr< SvxLRSpaceItem > m_xLR
void CalcJoinedWithPrev(const SwFrame &_rFrame, const SwFrame *_pPrevFrame)
std::unique_ptr< SvxTextLeftMarginItem > m_pTextLeftMargin
bool JoinWithCmp(const SwFrame &_rCallerFrame, const SwFrame &_rCmpFrame) const
const SwAttrSet & m_rAttrSet
const SvxBoxItem & m_rBox
sal_uInt16 CalcBottom() const
virtual ~SwBorderAttrs() override
Access class for the Cache.
SwCacheObj * Get(bool isDuplicateOwnerAllowed)
The Cache object base class Users of the Cache must derive a class from the SwCacheObj and store thei...
SwContentFrame is the layout for content nodes: a common base class for text (paragraph) and non-text...
SwContentFrame * GetNextContentFrame() const
virtual SwContentFrame * MakeFrame(SwFrame *pSib)=0
MakeFrame will be called for a certain layout pSib is another SwFrame of the same layout (e....
SwContentFrame * getLayoutFrame(const SwRootFrame *, const SwPosition *pPos=nullptr, std::pair< Point, bool > const *pViewPosAndCalcFrame=nullptr) const
bool mbChkHeightOfLastLine
bool mbInvalidatePrevPrtArea
SwTwips mnHeightOfLastLine
SwContentNotify(SwContentFrame *pContentFrame)
bool mbBordersJoinedWithPrev
bool HasBeenDeleted() const
return true if mpFrame != 0 and mpFrame is not client of pRegIn false otherwise
const sw::BroadcastingModify * mpRegIn
SwDeletionChecker(const SwFrame *pFrame)
IDocumentState const & getIDocumentState() const
SwLayoutCache * GetLayoutCache() const
const SwLineNumberInfo & GetLineNumberInfo() const
IDocumentRedlineAccess const & getIDocumentRedlineAccess() const
SwEditShell const * GetEditShell() const
IDocumentLayoutAccess const & getIDocumentLayoutAccess() const
IDocumentSettingAccess const & getIDocumentSettingAccess() const
bool DoesContainAtPageObjWithContentAnchor()
const SwFrameFormat * GetEmptyPageFormat() const
void DelFrameFormat(SwFrameFormat *pFormat, bool bBroadcast=false)
const SwFrameFormats * GetSpzFrameFormats() const
::sw::DocumentSettingManager & GetDocumentSettingManager()
IDocumentTimerAccess const & getIDocumentTimerAccess() const
bool IsInHeaderFooter(const SwNode &) const
new class for re-direct methods calls at a 'virtual' drawing object to its referenced object.
virtual void CalcAndSetScale(svt::EmbeddedObjectRef &xObj, const SwRect *pFlyPrtRect=nullptr, const SwRect *pFlyFrameRect=nullptr, const bool bNoTextFramePrtAreaChanged=false)=0
Client for OleObject has to be up-to-date regarding scaling.
general base class for all free-flowing frames
const SwVirtFlyDrawObj * GetVirtDrawObj() const
virtual const SwFlyFrameFormat * GetFormat() const override
bool IsFlyAtContentFrame() const
bool IsLowerOf(const SwLayoutFrame *pUpper) const
virtual const SwFlyFrame * DynCastFlyFrame() const override
SwFlyFrame * GetNextLink() const
bool IsFlyLayFrame() const
bool IsFlyFreeFrame() const
bool IsNotifyBack() const
bool supportsAutoContour() const
bool IsNoMoveOnCheckClip() const
SwFlyNotify(SwFlyFrame *pFlyFrame)
const SwRect m_aFrameAndSpace
const SwRect & getFrameArea() const
const SwRect & getFramePrintArea() const
bool isFrameAreaSizeValid() const
SwFrameNotify(SwFrame *pFrame)
SwTwips mnFlyAnchorOfstNoWrap
const SwRect & getFrameArea() const
Base class of the Writer layout elements.
SwTwips Grow(SwTwips, bool bTst=false, bool bInfo=false)
void InvalidateInfFlags()
void InsertBehind(SwLayoutFrame *pParent, SwFrame *pBefore)
Insert SwFrame into existing structure.
virtual bool Prepare(const PrepareHint ePrep=PrepareHint::Clear, const void *pVoid=nullptr, bool bNotify=true)
SwFrame * GetIndPrev() const
SwTextFrame * DynCastTextFrame()
sal_uInt16 GetVirtPageNum() const
void CheckDirChange()
checks the layout direction and invalidates the lower frames recursively, if necessary.
SwFlyFrame * FindFlyFrame()
bool IsAccessibleFrame() const
SwSectionFrame * FindSctFrame()
SwContentFrame * FindPrevCnt()
SwTabFrame * FindTabFrame()
bool supportsFullDrawingLayerFillAttributeSet() const
bool IsColumnFrame() const
void InvalidateNextPos(bool bNoFootnote=false)
SwFrameType GetType() const
bool IsInFootnote() const
bool IsHeaderFrame() const
void InvalidateObjs(const bool _bNoInvaOfAsCharAnchoredObjs=true)
bool IsRetoucheFrame() const
const SwSortedObjs * GetDrawObjs() const
static SwCache & GetCache()
bool IsRightToLeft() const
void AppendFly(SwFlyFrame *pNew)
static void CheckPageDescs(SwPageFrame *pStart, bool bNotifyFields=true, SwPageFrame **ppPrev=nullptr)
Check all pages (starting from the given one) if they use the appropriate frame format.
SwFlyFrame * ImplFindFlyFrame()
const SwAttrSet * GetAttrSet() const
WARNING: this may not return correct RES_PAGEDESC/RES_BREAK items for SwTextFrame,...
void InvalidateNextPrtArea()
method to invalidate printing area of next frame #i11859#
virtual void Paste(SwFrame *pParent, SwFrame *pSibling=nullptr)=0
bool IsMoveable(const SwLayoutFrame *_pLayoutFrame=nullptr) const
determine, if frame is moveable in given environment
SwFootnoteFrame * ImplFindFootnoteFrame()
bool IsFooterFrame() const
bool IsFootnoteFrame() const
SwLayoutFrame * GetUpper()
const SwLayoutFrame * GetNextLayoutLeaf() const
void InvalidatePage(const SwPageFrame *pPage=nullptr) const
Invalidates the page in which the Frame is currently placed.
SwRootFrame * getRootFrame()
bool IsNoTextFrame() const
void SetCompletePaint() const
virtual const SvxFormatBreakItem & GetBreakItem() const
bool IsContentFrame() const
SwContentFrame * FindNextCnt(const bool _bInSameFootnote=false)
SwPageFrame * FindPageFrame()
drawinglayer::attribute::SdrAllFillAttributesHelperPtr getSdrAllFillAttributesHelper() const
void AppendDrawObj(SwAnchoredObject &_rNewObj)
SwFrame * FindFooterOrHeader()
SwFootnoteFrame * FindFootnoteFrame()
static void DestroyFrame(SwFrame *const pFrame)
this is the only way to delete a SwFrame instance
bool IsLayoutFrame() const
Helps during the InsertCnt_ function to create new pages.
SwLayNotify(SwLayoutFrame *pLayFrame)
bool IsLowersComplete() const
bool CompareLayout(const SwDoc &rDoc) const
A layout frame is a frame that contains other frames (m_pLower), e.g. SwPageFrame or SwTabFrame.
void ChgLowersProp(const Size &rOldSize)
Change size of lowers proportionally.
bool IsAnLower(const SwFrame *) const
virtual const SwFrameFormat * GetFormat() const
const SwFrame * ContainsAny(const bool _bInvestigateFootnoteForSections=false) const
Method <ContainsAny()> doesn't investigate content of footnotes by default.
const SwFrame * GetLastLower() const
void NotifyLowerObjs(const bool _bUnlockPosOfObjs=false)
force an unlockposition call for the lower objects.
const SwContentFrame * ContainsContent() const
Checks if the frame contains one or more ContentFrame's anywhere in his subsidiary structure; if so t...
void InvaPercentLowers(SwTwips nDiff=0)
Invalidates the inner Frames, whose width and/or height are calculated using percentages.
const SwFrame * Lower() const
< purpose of derivation from SwClient: character style for displaying the numbers.
bool IsPaintLineNumbers() const
bool IsCountInFlys() const
Base class of the Writer document model elements.
SwTextNode * GetTextNode()
Inline methods from Node.hxx.
SwNodeOffset GetIndex() const
SwNodes & GetNodes()
Node is in which nodes-array/doc?
bool IsContentNode() const
bool IsSectionNode() const
const SwStartNode * StartOfSectionNode() const
Merge GetRedlineMergeFlag() const
SwNodeOffset EndOfSectionIndex() const
bool IsCreateFrameWhenHidingRedlines() const
std::vector< SwFrameFormat * > const & GetAnchoredFlys() const
SwNode * FindPrvNxtFrameNode(const SwNode &rFrameNd, const SwNode *pEnd, SwRootFrame const *pLayout=nullptr) const
Search previous / next content node or table node with frames.
bool IsOLESizeInvalid() const
const SwOLEObj & GetOLEObj() const
void SetOLESizeInvalid(bool b)
svt::EmbeddedObjectRef & GetObject()
bool IsOleRef() const
To avoid unnecessary loading of object.
const SdrObject * m_pCurrent
const SdrObject * Bottom()
SwOrderIter(const SwPageFrame *pPage)
const SwPageFrame * m_pPage
const SwPosition * Start() const
SwFrameFormat & GetMaster()
bool IsFirstShared() const
SwFrameFormat & GetFirstLeft()
SwFrameFormat & GetFirstMaster()
SwFrameFormat * GetRightFormat(bool const bFirst=false)
Layout uses the following methods to obtain a format in order to be able to create a page.
SwFrameFormat & GetLeft()
SwFrameFormat * GetLeftFormat(bool const bFirst=false)
A page of the document layout.
void InvalidateContent() const
void AppendFlyToPage(SwFlyFrame *pNew)
void PreparePage(bool bFootnote)
Always call after Paste Creates the page-bound frames and formats the generic content.
sal_uInt16 GetPhyPageNum() const
void RemoveFlyFromPage(SwFlyFrame *pToRemove)
const SwSortedObjs * GetSortedObjs() const
void MoveFly(SwFlyFrame *pToMove, SwPageFrame *pDest)
virtual void Paste(SwFrame *pParent, SwFrame *pSibling=nullptr) override
void InvalidateFlyContent() const
void AppendDrawObjToPage(SwAnchoredObject &_rNewObj)
SwRect PrtWithoutHeaderAndFooter() const
RedlineType GetType(sal_uInt16 nPos=0) const
tools::Long GetHeight(const SwRect &rRect) const
void SetPos(SwRect &rRect, const Point &rNew) const
tools::Long GetWidth(const SwRect &rRect) const
tools::Long TopDist(const SwRect &rRect, tools::Long nPos) const
tools::Long GetTop(const SwRect &rRect) const
Point GetPos(const SwRect &rRect) const
bool PosDiff(const SwRect &rRect1, const SwRect &rRect2) const
Of course Writer needs its own rectangles.
void Height(tools::Long nNew)
SwRect & Union(const SwRect &rRect)
void Top(const tools::Long nTop)
void Right(const tools::Long nRight)
void Bottom(const tools::Long nBottom)
SwRect & Intersection_(const SwRect &rRect)
void Pos(const Point &rNew)
void SSize(const Size &rNew)
bool Contains(const Point &rPOINT) const
void AddBottom(const tools::Long nAdd)
bool Overlaps(const SwRect &rRect) const
void AddTop(const tools::Long nAdd)
void Left(const tools::Long nLeft)
void Width(tools::Long nNew)
The root element of a Writer document layout.
SwViewShell * GetCurrShell() const
static void AssertPageFlys(SwPageFrame *)
Makes sure that, starting from the passed Page, all page-bound Frames are on the right Page (pagenumb...
const SwPageFrame * GetPageAtPos(const Point &rPt, const Size *pSize=nullptr, bool bExtend=false) const
Point rPt: The point that should be used to find the page Size pSize: If given, we return the (first)...
bool HasMergedParas() const
bool IsAnyShellAccessible() const
bool IsHideRedlines() const
Replacement for sw::DocumentRedlineManager::GetRedlineFlags() (this is layout-level redline hiding).
bool IsCallbackActionEnabled() const
void RemoveFromList(SwSectionFrame *pSct)
void SetCallbackActionEnabled(bool b)
SwRowFrame is one table row in the document layout.
void AdjustCells(const SwTwips nHeight, const bool bHeight)
Adapts the Cells to the current height; invalidates the Cells if the Direction does not match the hei...
bool ShouldRowKeepWithNext(const bool bCheckParents=true) const
void DelEmpty(bool bRemove)
void MergeNext(SwSectionFrame *pNxt)
|* Merges two SectionFrames, in case it's about the same section.
bool SplitSect(SwFrame *pFrame, bool bApres)
Splits the SectionFrame surrounding the pFrame up in two parts: pFrame and the start of the 2nd part.
SwTwips Undersize()
Returns the size delta that the section would like to be greater if it has undersized TextFrames in i...
const SwSectionFrame * GetFollow() const
A section node represents the start of a section on the UI, i.e.
SwFrame * MakeFrame(SwFrame *)
const SwSection & GetSection() const
SwSectionFormat * GetFormat()
bool CalcHiddenFlag() const
class for collecting anchored objects
Starts a section of nodes in the document model.
SwTabFrame is one table in the document layout, containing rows (which contain cells).
SwTabFrame * FindMaster(bool bFirstMaster=false) const
SwFrame * FindLastContentOrTable()
const SwTable & GetTable() const
SwTabFrame * MakeFrame(SwFrame *)
void SwitchFormulasToInternalRepresentation()
Represents the visualization of a paragraph.
void Init()
This is public, as it needs to be called by some methods in order to save the Prepare USE WITH CAUTIO...
SwTwips GetBaseOffsetForFly(bool bIgnoreFlysAnchoredAtThisFrame) const
sw::MergedPara * GetMergedPara()
bool IsHiddenNow() const
Hidden.
SwTextNode * GetTextNodeFirst()
virtual bool Prepare(const PrepareHint ePrep=PrepareHint::Clear, const void *pVoid=nullptr, bool bNotify=true) override
SwContentFrame: the shortcut for the Frames If the void* casts wrongly, it's its own fault!...
SwTwips GetHeightOfLastLine() const
SwTextNode is a paragraph in the document model.
virtual sal_Int32 Len() const override
bool IsShowOutlineContentVisibilityButton() const
bool getBrowseMode() const
bool IsAction() const
SS for the Lay-/IdleAction and relatives.
void InvalidateAccessibleFrameContent(const SwFrame *pFrame)
Invalidate accessible frame's content.
SwLayAction & GetLayAction()
void MoveAccessibleFrame(const SwFrame *pFrame, const SwRect &rOldFrame)
vcl::RenderContext * GetOut() const
const SwViewOption * GetViewOptions() const
SwRootFrame * GetLayout() const
void InvalidateAccessibleParaFlowRelation(const SwTextFrame *_pFromTextFrame, const SwTextFrame *_pToTextFrame)
invalidate CONTENT_FLOWS_FROM/_TO relation for paragraphs
void InvalidateWindows(const SwRect &rRect)
bool IsInConstructor() const
Bookkeeping helper for SwCache caching writer borders.
virtual bool get(DocumentSettingId id) const override
Return the specified document setting.
const bool m_wasAlreadySuppressed
FlyCreationSuppressor(bool isAlreadySuppressedAllowed=true)
ring_container GetRingContainer()
#define suppress_fun_call_w_exception(expr)
virtual SotClipboardFormatId GetFormat(const TransferableDataHelper &aHelper) override
EmbeddedObjectRef * pObject