20#include <config_wasm_strip.h>
23#include <osl/diagnose.h>
75: mbFrameAreaPositionValid(false),
76 mbFrameAreaSizeValid(false),
77 mbFramePrintAreaValid(false),
120 if(mrTarget.maFramePrintArea != *
this)
122 mrTarget.maFramePrintArea = *
this;
134 rFrameArea.
Left(), rFrameArea.
Top());
146 rFramePrintArea.
Left() + rFrameArea.
Left(),
147 rFramePrintArea.
Top() + rFrameArea.
Top());
158 aFrm.
Pos().AdjustX(rOffset.
X() );
163 aFrm.
Pos().AdjustY(rOffset.
Y() );
173 return mrSwFrameAreaDefinition.getFrameArea();
178 double fRotate, fShearX;
179 rSource.
decompose(aScale, aTranslate, fRotate, fShearX);
197 return mrSwFrameAreaDefinition.getFramePrintArea();
202 double fRotate, fShearX;
203 rSource.
decompose(aScale, aTranslate, fRotate, fShearX);
206 const SwRect aUntransformedFrameArea(getUntransformedFrameArea());
225 const SwRect& rFrameArea(mrSwFrameAreaDefinition.getFrameArea());
226 const SwRect& rFramePrintArea(mrSwFrameAreaDefinition.getFramePrintArea());
230 rFrameArea.
Left(), rFrameArea.
Top());
233 rFramePrintArea.
Left() + rFrameArea.
Left(), rFramePrintArea.
Top() + rFrameArea.
Top());
238 if(!getLocalFrameAreaTransformation().isIdentity())
241 aRangeFrameArea.
transform(getLocalFrameAreaTransformation());
246 if(aNewFrm != mrSwFrameAreaDefinition.getFrameArea())
253 if(getLocalFramePrintAreaTransformation().isIdentity())
257 aRangeFramePrintArea.
transform(getLocalFramePrintAreaTransformation());
264 if(aNewPrt != mrSwFrameAreaDefinition.getFramePrintArea())
275 if(!getLocalFrameAreaTransformation().isIdentity())
278 aFrm.
setSwRect(getUntransformedFrameArea());
281 if(!getLocalFramePrintAreaTransformation().isIdentity())
284 aPrt.
setSwRect(getUntransformedFramePrintArea());
291 maFrameAreaTransformation *= aTransform;
292 maFramePrintAreaTransformation *= aTransform;
297 mpRoot( pSib ? pSib->getRootFrame() : nullptr ),
305 mbRightToLeft(false),
307 mbDerivedVert(false),
311 mbValidLineNum(false),
313 mbCompletePaint(true),
319 mbInfFootnote ( false ),
322 m_isInDestroy(false),
325 OSL_ENSURE( pMod,
"No frame format given." );
345 if( SvxFrameDirection::Environment == nDir || ( bVert && bOnlyBiDi ) )
348 if( SvxFrameDirection::Environment == nDir )
355 if( SvxFrameDirection::Horizontal_LR_TB == nDir || SvxFrameDirection::Horizontal_RL_TB == nDir
365 if(SvxFrameDirection::Vertical_RL_TB == nDir)
370 else if(SvxFrameDirection::Vertical_LR_TB==nDir)
375 else if (nDir == SvxFrameDirection::Vertical_LR_BT)
380 else if (nDir == SvxFrameDirection::Vertical_RL_TB90)
391 if( SvxFrameDirection::Horizontal_RL_TB == nDir )
423 bVert,
true, bBrowseMode );
437 bVert,
false, bBrowseMode );
451 bVert,
true, bBrowseMode );
468 CheckDir( pFrameDirItem->GetValue(), bVert,
false, bBrowseMode );
479 bVert,
true, bBrowseMode);
484 if (rHint.
GetId() != SfxHintId::SwLegacyModify)
489 if(pLegacy->m_pOld && pLegacy->m_pNew &&
RES_ATTRSET_CHG == pLegacy->m_pNew->Which())
524 &&
nullptr != (pNxt =
GetNext()))
537 sal_uInt16 nWhich = pOld ? pOld->
Which() : pNew ? pNew->
Which() : 0;
586 if ( bInFollowFlowRow )
594 OSL_FAIL(
"Columns for new FrameType?" );
635 const_cast<SwFlyFrame*
>(pFlyFrame)->FindPageFrameOfAnchor();
636 if ( pPageFrameOfAnchor && pPageFrameOfAnchor != pPage )
644 if ( !(pPage && pPage->
GetUpper()) )
720 for (
auto const& e : pMergedPara->extents)
722 if (e.pNode != pNode)
746 if ( aNewSize == aOldSize )
776 if ( nReal != nDiff )
779 (aFrm.*fnRect->
fnSetHeight)( nNew - nDiff + nReal );
810 aFrm.
SSize( aNewSize );
843 OSL_ENSURE( pParent,
"No parent for insert." );
844 OSL_ENSURE( (!pBehind || pParent == pBehind->
GetUpper()),
845 "Frame tree is inconsistent." );
879 OSL_ENSURE( pParent,
"No Parent for Insert." );
880 OSL_ENSURE( (!pBefore || pParent == pBefore->
GetUpper()),
881 "Frame tree is inconsistent." );
897 if ( pParent->
Lower() )
918 OSL_ENSURE( pParent,
"No parent for insert." );
919 OSL_ENSURE( (!pBehind || ( (pBehind && (pParent == pBehind->
GetUpper()))
921 "Frame tree inconsistent." );
958 pBehind->
mpPrev =
nullptr;
964 OSL_ENSURE( pTmp,
"InsertGrp: Missing ColBody" );
977 OSL_ENSURE( pSct->
IsSctFrame(),
"InsertGroup: For SectionFrames only" );
1020 OSL_ENSURE(
mpUpper,
"Remove without upper?" );
1040 OSL_ENSURE( pParent,
"No parent for pasting." );
1041 OSL_ENSURE( pParent->
IsLayoutFrame(),
"Parent is ContentFrame." );
1042 OSL_ENSURE( pParent !=
this,
"I'm the parent." );
1043 OSL_ENSURE( pSibling !=
this,
"I'm my own neighbour." );
1045 "I'm still registered somewhere" );
1047 "<SwContentFrame::Paste(..)> - sibling not of expected type." );
1117 if( pFrame &&
nullptr != (pFrame=
static_cast<SwLayoutFrame*
>(pFrame)->ContainsAny()) )
1127 while ( pNxt && pNxt->
IsInTab() )
1130 if(
nullptr != pNxt )
1143 OSL_ENSURE(
GetUpper(),
"Cut without Upper()." );
1169 while ( pNxt && pNxt->
IsInTab() )
1172 if(
nullptr != pNxt )
1207 if( !pSct->IsFollow() )
1219 if (
nullptr != pFrame )
1255 if( !pSct->IsFollow() )
1266 if (pThisTab && pThisTab->IsFollow())
1278 assert(!pMasterTab);
1290 if ( !pUp->
Lower() &&
1346 pUp->
Shrink( nFrameHeight );
1352 OSL_ENSURE( pParent,
"No parent for pasting." );
1353 OSL_ENSURE( pParent->
IsLayoutFrame(),
"Parent is ContentFrame." );
1354 OSL_ENSURE( pParent !=
this,
"I'm the parent oneself." );
1355 OSL_ENSURE( pSibling !=
this,
"I'm my own neighbour." );
1357 "I'm still registered somewhere." );
1404 if(
nullptr != pFrame )
1441 nReal += pParent->
Grow( nGrow - nReal );
1464 if ( pUp && nShrink )
1476 if( nReal < nShrink )
1487 nReal += pUp->
Shrink( nShrink - nReal );
1491 aRectFnSet.
SetHeight( aFrm, nOldHeight );
1509 if( pUp && !pUp->
Lower() )
1518 OSL_ENSURE( nDist >= 0,
"Negative growth?" );
1527 if( nPrtHeight > 0 && nDist > (
LONG_MAX - nPrtHeight) )
1531 return static_cast<SwFlyFrame*
>(
this)->Grow_( nDist, bTst );
1562 OSL_ENSURE( nDist >= 0,
"Negative reduction?" );
1569 return static_cast<SwFlyFrame*
>(
this)->Shrink_( nDist, bTst );
1679 nChg = nTmp <= 0 ? 0 : nTmp;
1685 aInva.
Height( nChg + nTmp );
1693 if ( pViewShell && !pUp->
GetPrev() &&
1698 nInvaAdd = -(nDiff - nChg);
1722 if ( !bTst && nChg )
1762 aPrt.
Height( nOldFrameHeight );
1771 aFrm.
Height( nOldFrameHeight );
1774 aPrt.
Height( nOldPrtHeight );
1835 const bool bFootnotePage = pBoss->
IsPageFrame() &&
static_cast<const SwPageFrame*
>(pBoss)->IsFootnotePage();
1848 if( !bFootnotePage )
1865 nAdd = nDiff - nReal;
1866 if ( nAdd > nAddMax )
1872 aRectFnSet.
SetHeight(aFrm, nAddMax-nAdd);
1876 aFrm.
Pos().AdjustX(nAdd );
1891 if ( !bTst && nReal )
1897 aRectFnSet.
SetHeight( aFrm, nTmp - nReal );
1901 aFrm.
Pos().AdjustX(nReal );
1910 if( nReal < 0 && pFrame->
IsInSct() )
1920 OSL_ENSURE( pBoss->
IsPageFrame(),
"Header/Footer out of page?" );
1923 if (
auto pFly = pAnchoredObj->DynCastFlyFrame() )
1925 OSL_ENSURE( !pFly->IsFlyInContentFrame(),
"FlyInCnt at Page?" );
1940 pFly->InvalidatePos_();
1941 pFly->Invalidate_();
1947 return (nBrowseAdd + nReal + nAdd);
1970 static_cast<SwFlyFrame*
>(
this)->Invalidate_();
1986 static_cast<SwFlyFrame*
>(
this)->Invalidate_();
2004 static_cast<SwFlyFrame*
>(
this)->Invalidate_();
2020 OSL_ENSURE(
IsTextFrame(),
"line numbers are implemented for text only" );
2073 const bool bOnlyObject = 1 == nStage;
2074 const bool bIncludeObjects = 1 <= nStage;
2083 if ( bIncludeObjects )
2088 const size_t nCnt = pObjs->
size();
2089 for (
size_t i = 0;
i < nCnt; ++
i )
2093 pFlyFrame->ValidateThisAndAllLowers( 2 );
2095 pAnchoredDrawObj->ValidateThis();
2116 if( nFrameHeight > 0 &&
2117 nDist > (
LONG_MAX - nFrameHeight ) )
2131 aRectFnSet.
SetHeight( aFrm, nFrameHeight + nDist );
2135 aFrm.
Pos().AdjustX( -nDist );
2158 while( pFrame && nReal > 0 )
2171 aRectFnSet.
SetHeight( aFrm, nOld + nDist );
2175 aFrm.
Pos().AdjustX( -nDist );
2183 !pTab->IsJoinLocked() &&
2193 if ( nReal < nDist )
2198 nReal =
GetUpper()->
Grow( nDist - std::max<tools::Long>(nReal, 0),
2235 OSL_ENSURE( nDist >= 0,
"nDist < 0" );
2237 "nDist > than current size." );
2246 if( nRstHeight < 0 )
2258 nRstHeight = nDist + nRstHeight - nNextHeight;
2271 aFrm.
Pos().AdjustX(nDist );
2280 !pTab->IsJoinLocked() &&
2305 bool bInvalidate =
true;
2313 const SwRect aBound( pAnchoredObj->GetObjRectWithSpaces() );
2320 const SwFrameFormat& rFormat = pAnchoredObj->GetFrameFormat();
2323 const SwFrame* pAnchor = pAnchoredObj->GetAnchorFrame();
2326 bInvalidate =
false;
2355 if (rHint.
GetId() != SfxHintId::SwLegacyModify)
2359 if(pLegacy->m_pNew &&
RES_ATTRSET_CHG == pLegacy->m_pNew->Which() && pLegacy->m_pOld)
2361 auto& rOldSetChg = *
static_cast<const SwAttrSetChg*
>(pLegacy->m_pOld);
2362 auto& rNewSetChg = *
static_cast<const SwAttrSetChg*
>(pLegacy->m_pNew);
2371 UpdateAttr_(pOItem, pNItem, eInvFlags, &aOldSet, &aNewSet);
2379 UpdateAttr_(pLegacy->m_pOld, pLegacy->m_pNew, eInvFlags);
2433 sal_uInt16 nWhich = pOld ? pOld->
Which() : pNew ? pNew->
Which() : 0;
2577 if ( pOldSet || pNewSet )
2655 if ( nFrameHeight > 0 && nDist > (
LONG_MAX - nFrameHeight) )
2672 bool bMoveAccFrame =
false;
2678 aRectFnSet.
SetHeight( aFrm, nFrameHeight + nDist );
2682 aFrm.
Pos().AdjustX( -nDist );
2685 bMoveAccFrame =
true;
2723 nGrow = pToGrow ? pToGrow->
Grow( nReal, bTst, bInfo ) : 0;
2732 SwTwips nSpace = bTst ? 0 : -nDist;
2737 }
while ( pFrame !=
GetNext() );
2742 if ( nReal > nSpace )
2744 if ( nReal && !bTst )
2761 if( nReal != nDist &&
2766 aRectFnSet.
SetHeight( aFrm, nFrameHeight + nReal );
2773 bMoveAccFrame =
true;
2815 std::unique_ptr<SvxBrushItem> aBack(
GetFormat()->makeBackgroundBrushItem());
2822#if !ENABLE_WASM_STRIP_ACCESSIBILITY
2833 (void)bMoveAccFrame;
2865 OSL_ENSURE( nDist >= 0,
"nDist < 0" );
2868 if ( nDist > nFrameHeight )
2869 nDist = nFrameHeight;
2878 while( pFrame && nMin < nTmp )
2886 if( nReal > nMinDiff )
2892 bool bMoveAccFrame =
false;
2898 aRectFnSet.
SetHeight( aFrm, nFrameHeight - nReal );
2902 aFrm.
Pos().AdjustX(nReal );
2905 bMoveAccFrame =
true;
2920 if ( !bTst &&
IsBodyFrame() && nReal < nRealDist )
2927 aFrm.
Pos().AdjustX(nRealDist - nReal );
2937 if ( nTmp != nReal )
2944 aFrm.
Pos().AdjustX(nTmp - nReal );
2966 nReal = pToShrink ? pToShrink->
Shrink( nShrink, bTst, bInfo ) : 0;
2968 && nReal < nShrink )
2972#if !ENABLE_WASM_STRIP_ACCESSIBILITY
2984 (void)bMoveAccFrame;
2996 static_cast<SwTabFrame*
>(
this)->SetComplete();
3003 static_cast<SwTabFrame*
>(
this)->SetComplete();
3012 bool bCompletePaint =
true;
3019 bCompletePaint =
false;
3035 nullptr != (pCnt =
static_cast<SwFootnoteFrame*
>(
this)->GetRefFromAttr() ) )
3037 if ( pCnt->IsFollow() )
3053 SAL_WARN(
"sw.layout",
"footnote frame on different page than ref frame?");
3085 if ( !( aRectFnSet.
IsVert() ? bHeightChgd : bWidthChgd ) &&
3106 pLowerFrame = pLowerFrame->
GetNext();
3115 pLowerFrame = pLowerFrame->
GetPrev();
3121 pLowerFrame =
static_cast<SwSectionFrame*
>(pLowerFrame)->GetSection() &&
3122 !
static_cast<SwSectionFrame*
>(pLowerFrame)->ToMaximize(
false ) ?
3123 static_cast<SwSectionFrame*
>(pLowerFrame)->FindLastContent() :
nullptr;
3139 pLowerFrame = pTableFrame;
3152 !SwFlowFrame::CastFlowFrame( pLowerFrame )->HasFollow() )
3162 if( aRectFnSet.
IsVert() )
3169 pLowerFrame = pLowerFrame->
GetPrev();
3179 pLowerFrame = pLowerFrame->
GetPrev();
3198 if( pSectFrame !=
this &&
IsAnLower( pSectFrame ) )
3210 bool bInvaPageForContent =
true;
3214 bool bFixChgd, bVarChgd;
3217 bFixChgd = bWidthChgd;
3218 bVarChgd = bHeightChgd;
3222 bFixChgd = bHeightChgd;
3223 bVarChgd = bWidthChgd;
3243 while ( pLowerFrame )
3262 if( nLowerType & nFixWidth )
3289 double nNewWidthTmp =
3292 /
double(rOldSize.
Width());
3293 nNewWidth =
SwTwips(nNewWidthTmp);
3302 aFrm.
Width( nNewWidth );
3307 if( nLowerType & nFixHeight )
3322 else if ( rOldSize.
Height() &&
3354 "ChgLowersProp - only for body or foot note container" );
3362 if ( nNewHeight < 0)
3368 "ChgLowersProg - negative height for lower.");
3373 aFrm.
Height( nNewHeight );
3386 double nNewHeightTmp =
3389 /
double(rOldSize.
Height());
3390 nNewHeight =
SwTwips(nNewHeightTmp);
3407 if( nSum - nNewHeight == 1 &&
3413 aFrm.
Height( nNewHeight );
3424 bInvaPageForContent =
false;
3435 pLowerFrame = pLowerFrame->
GetNext();
3441 if ( !(( (aRectFnSet.
IsVert() && bHeightChgd) || (! aRectFnSet.
IsVert() && bWidthChgd) ) &&
3468 OSL_ENSURE( pAttrs,
"LayoutFrame::Format, pAttrs is 0." );
3473 bool bHideWhitespace =
false;
3483 bHideWhitespace =
true;
3487 const sal_uInt16 nLeft = o3tl::narrowing<sal_uInt16>(pAttrs->
CalcLeft(
this));
3488 const sal_uInt16 nUpper = bHideWhitespace ? 0 : pAttrs->
CalcTop();
3490 const sal_uInt16 nRight = o3tl::narrowing<sal_uInt16>(pAttrs->
CalcRight(
this));
3491 const sal_uInt16 nLower = bHideWhitespace ? 0 : pAttrs->
CalcBottom();
3529 nRemaining = std::max( nRemaining, nMinHeight );
3584 OSL_ENSURE( pFrame->
GetDrawObjs(),
"Can't find any Objects" );
3587 if (
auto pFly = pAnchoredObj->DynCastFlyFrame() )
3592 bool bNotify =
true;
3597 const SwFrame *pRel = pFly->IsFlyLayFrame() ? pFly->GetAnchorFrame():
3598 pFly->GetAnchorFrame()->
GetUpper();
3603 if( pFly->getFrameArea().Height()*10 >
3605 pFly->GetFormat()->GetSurround().GetSurround() !=
3606 css::text::WrapTextMode_THROUGH )
3630 OSL_ENSURE( pTmp,
"Where's my TabFrame?" );
3644 }
while ( pFrame &&
IsAnLower( pFrame ) ) ;
3666 nRet = nRel * nPercent / 100;
3677 OSL_ENSURE( pCol,
"Where's the columnframe?" );
3686 if ( nTmp != USHRT_MAX )
3688 if ( pCol == pLayFrame->
Lower() )
3691 nDiff = nDiff ?
std::min( nDiff, nTmp ) : nTmp;
3696 while ( pCol &&
nullptr == (pFrame = pCol->
Lower()) )
3699 }
while ( pFrame && pCol );
3701 return nDiff ? nDiff : nFirstDiff ? nFirstDiff : 240;
3715 for (
size_t i = 0;
i < nCnt; ++
i )
3720 if ( pFly->IsHeightClipped() &&
3721 ( !pFly->IsFlyFreeFrame() || pFly->GetPageFrame() ) )
3746 const sal_uInt16 nNumCols = rCol.
GetNumCols();
3749 bool bBackLock =
false;
3784 bool bNoBalance =
false;
3791 if( nMaximum < nMinimum )
3794 nMinimum = nMaximum = 0;
3796 nMinimum = nMaximum;
3802 GetBalancedColumns().GetValue();
3815 if( nTop > nMaximum )
3819 if( !pAny && !
static_cast<SwSectionFrame*
>(
this)->IsFootnoteLock() )
3844 if (
IsAnLower( pAnchoredObj->GetAnchorFrame() ) )
3846 pAnchoredObj->SetTmpConsiderWrapInfluence(
false );
3867 for ( sal_uInt16
i = 0;
i < nNumCols; ++
i )
3869 pCol->
Calc(pRenderContext);
3880 OSL_ENSURE( pCol && pCol->
GetNext(),
":-( column making holidays?");
3882 bool bMinDiff =
true;
3884 while ( bMinDiff && pCol )
3895 bool bFoundLower =
false;
3906 else if( nInnerHeight < 0 )
3919 if( nInnerHeight > nDiff )
3921 nDiff = nInnerHeight;
3926 if( nMaxFree < -nInnerHeight )
3927 nMaxFree = -nInnerHeight;
3928 if( nAllFree > -nInnerHeight )
3929 nAllFree = -nInnerHeight;
3947 if( nMinimum < nPrtHeight )
3948 nMinimum = nPrtHeight;
3951 if( nMaximum < nPrtHeight )
3952 nMaximum = nPrtHeight;
3957 if (
std::abs(nDiff - nMinDiff) > nNumCols && nDiff >
static_cast<tools::Long>(nNumCols) )
3967 if ( nFrameHeight > nMinHeight || nPrtHeight >= nMinDiff )
3968 nDiff = std::max( nDiff, nMinDiff );
3969 else if( nDiff < nMinDiff )
3970 nDiff = nMinDiff - nPrtHeight + 1;
3975 if( nDiff + nPrtHeight > nMaximum )
3976 nDiff = nMaximum - nPrtHeight;
3978 else if( nMaximum > nMinimum )
3981 if ( nMaximum < nPrtHeight )
3982 nDiff = nMaximum - nPrtHeight;
3987 nMaximum = nPrtHeight;
3998 nMinimum < nPrtHeight - nMinDiff ) )
4000 nMaxFree /= nNumCols;
4001 nDiff = nMaxFree < nMinDiff ? -nMinDiff : -nMaxFree;
4002 if( nPrtHeight + nDiff <= nMinimum )
4003 nDiff = ( nMinimum - nMaximum ) / 2;
4008 if( nPrtHeight + nDiff <= nMinimum )
4009 nDiff = ( nMinimum - nMaximum ) / 2;
4042 if (
IsAnLower( pAnchoredObj->GetAnchorFrame() ) )
4044 pAnchoredObj->SetTmpConsiderWrapInfluence(
false );
4105 SwFlowFrame *pFoll = pSect->
GetFollow();
4107 pSect->SetFollow(
nullptr );
4109 pSect->SetFollow( pFoll );
4141 if( pLastSctCnt == pCnt )
4142 pLastSctCnt =
nullptr;
4144#if OSL_DEBUG_LEVEL > 0
4146 OSL_ENSURE( !pLastSctCnt,
"Where's the last SctContent?" );
4163 pLastSctCnt =
nullptr;
4165 if( pLastTabCnt == pCnt )
4167 pLastTabCnt =
nullptr;
4168 pLastSctCnt =
nullptr;
4171#if OSL_DEBUG_LEVEL > 0
4173 OSL_ENSURE( !pLastTabCnt,
"Where's the last TabContent?" );
4196 if (
auto pFly = pAnchoredObj->DynCastFlyFrame() )
4198 if ( pFly->IsFlyInContentFrame() )
4202 pFly->CheckDirChange();
4226 if (
auto pFly = pAnchoredObj->DynCastFlyFrame() )
4230 pFly->CheckDirChange();
4266 const SwFormatAnchor& rAnch = pAnchoredObj->GetFrameFormat().GetAnchor();
4267 if ((rAnch.
GetAnchorId() != RndStdIds::FLY_AT_PARA) &&
4275 if ( pAnchoredObj->ConsiderObjWrapInfluenceOnObjPos() )
4276 pAnchoredObj->InvalidateObjPosForConsiderWrapInfluence();
4278 pAnchoredObj->InvalidateObjPos();
4288 std::set<SwNodeOffset> *
const pSkipped,
4292 std::vector<sw::Extent>::const_iterator
const& rIterFirst,
4293 std::vector<sw::Extent>::const_iterator
const& rIterEnd,
4296 if (pNode == &rTextNode)
4305 &rIterFirst, &rIterEnd, pFirstNode, pLastNode);
4313 pSkipped->insert(pFly->GetContent().GetContentIdx()->GetIndex());
4327 std::set<SwNodeOffset> *
const pSkipped)
4336 assert(pMerged->pFirstNode->GetIndex() <= rTextNode.
GetIndex()
4337 && rTextNode.
GetIndex() <= pMerged->pLastNode->GetIndex());
4342 std::vector<sw::Extent>::const_iterator iterFirst(pMerged->extents.begin());
4343 std::vector<sw::Extent>::const_iterator iter(iterFirst);
4344 SwTextNode const* pNode(pMerged->pFirstNode);
4347 if (iter == pMerged->extents.end()
4348 || iter->pNode != pNode)
4351 pNode, iterFirst, iter,
4352 pMerged->pFirstNode, pMerged->pLastNode);
4353 SwNodeOffset const until = iter == pMerged->extents.end()
4354 ? pMerged->pLastNode->GetIndex() + 1
4355 : iter->pNode->GetIndex();
4365 pMerged->pFirstNode, pMerged->pLastNode);
4368 if (iter == pMerged->extents.end())
4372 pNode = iter->pNode;
4382 std::set<SwNodeOffset> *
const pSkipped)
4394 std::vector<SwTextFrame*> frames;
4397 if (pFrame->getRootFrame() == &rLayout)
4399 if (pFrame->IsFollow())
4401 frames.push_back(pFrame);
4406 frames.insert(frames.begin(), pFrame);
4416 assert(!pFrame->GetMergedPara() ||
4425 pFrame->SetMergedPara(std::move(pMerged));
4427 auto const pMerged(pFrame->GetMergedPara());
4432 pFrame->InvalidatePage();
4433 if (
auto const pObjs = pFrame->GetDrawObjs())
4436 for (
auto const pObject : *pObjs)
4449 if (
auto const& pMergedPara = pFrame->GetMergedPara())
4453 pFrame->InvalidatePage();
4454 if (
auto const pObjs = pFrame->GetDrawObjs())
4456 for (
auto const pObject : *pObjs)
4464 if (!pFrame->IsFollow())
4469 assert(&rTextNode == pMergedPara->pFirstNode);
4474 j <= pMergedPara->pLastNode->GetIndex(); ++j)
4488 pFormat->DelFrames();
4495 pFrame->SetMergedPara(
nullptr);
4515 && pRedline->
GetType() == RedlineType::Delete
4549 auto const pFrame(
static_cast<SwContentNode&
>(rNode).getLayoutFrame(&rLayout));
4550 assert(!pFrame ||
static_cast<SwTextFrame*
>(pFrame)->GetMergedPara()->pFirstNode != &rNode);
4560 for ( ; j < rEndOfSectionNode.
GetIndex(); ++j)
4562 if (rNodes[j]->IsCreateFrameWhenHidingRedlines())
4581 std::set<SwNodeOffset> *
const pSkipped)
4583 assert(rEndOfExtraSectionNode.
IsEndNode());
4585 + 1;
i < rEndOfExtraSectionNode.
GetIndex(); ++
i)
4587 SwNode const& rStartNode(*rNodes[
i]);
4591 bool bSkip(pSkipped && pSkipped->find(
i) != pSkipped->end());
4597 SwNode const& rNode(*rNodes[j]);
4653 std::set<SwNodeOffset> skippedFlys;
4678 if (bIsShowChangesInMargin || pRedline->GetType() != RedlineType::Delete)
4697 pFootnote->InvalidateNumberInLayout();
4707 pAuthType->UpdateFields();
4784 xmlTextWriterSetIndent(writer,1);
4785 (void)xmlTextWriterSetIndentString(writer, BAD_CAST(
" "));
4786 (void)xmlTextWriterStartDocument( writer,
nullptr,
nullptr,
nullptr );
4792 (void)xmlTextWriterEndDocument( writer );
4793 xmlFreeTextWriter( writer );
4799 bool bCreateWriter = (
nullptr == writer);
4801 writer = lcl_createDefaultWriter();
4803 (void)xmlTextWriterStartElement(writer,
reinterpret_cast<const xmlChar*
>(
"root"));
4806 (void)xmlTextWriterStartElement(writer, BAD_CAST(
"sfxViewShells"));
4814 (void)xmlTextWriterEndElement(writer);
4816 (void)xmlTextWriterStartElement(writer, BAD_CAST(
"infos"));
4818 (void)xmlTextWriterEndElement(writer);
4820 (void)xmlTextWriterEndElement(writer);
4823 lcl_freeWriter(writer);
css::chart::ChartAxisLabelPosition ePos
@ CONSIDER_WRAP_ON_OBJECT_POSITION
@ PARA_SPACE_MAX_AT_PAGES
static sal_uInt8 nFramePos
Document fields related interfaces.
virtual SwFieldType * GetSysFieldType(const SwFieldIds eWhich) const =0
virtual SwFieldType * GetFieldType(SwFieldIds nResId, const OUString &rName, bool bDbFieldMatching) const =0
virtual void UpdateRefFields()=0
virtual void UpdatePageFields(const SwTwips)=0
virtual void UpdateExpFields(SwTextField *pField, bool bUpdateRefFields)=0
virtual const SwRedlineTable & GetRedlineTable() const =0
virtual const SwRangeRedline * GetRedline(const SwPosition &rPos, SwRedlineTable::size_type *pFndPos) const =0
Provides access to settings of a document.
virtual bool get(DocumentSettingId id) const =0
Return the specified document setting.
constexpr tools::Long Y() const
constexpr tools::Long X() const
const SfxPoolItem * GetCurItem() const
const SfxPoolItem * NextItem()
static SAL_WARN_UNUSED_RESULT SfxViewShell * GetNext(const SfxViewShell &rPrev, bool bOnlyVisible=true, const std::function< bool(const SfxViewShell *)> &isViewShell=nullptr)
static SAL_WARN_UNUSED_RESULT SfxViewShell * GetFirst(bool bOnlyVisible=true, const std::function< bool(const SfxViewShell *)> &isViewShell=nullptr)
virtual SfxObjectShell * GetObjectShell() override
constexpr tools::Long Height() const
constexpr tools::Long Width() const
tools::Long GetHeight() const
tools::Long GetWidth() const
class for the positioning of drawing objects
wrapper class for the positioning of Writer fly frames and drawing objects
const SwFrame * GetAnchorFrame() const
virtual const SwFlyFrame * DynCastFlyFrame() const
void InvalidateObjRectWithSpaces() const
void ClearItem(sal_uInt16 nWhichL)
const SwAttrSet * GetChgSet() const
What has changed.
const SwFormatCol & GetCol(bool=true) const
const SwFormatFrameSize & GetFrameSize(bool=true) const
Container of body content (i.e.
const Size & GetSize() const
tools::Long CalcLeft(const SwFrame *pCaller) const
sal_uInt16 CalcTop() const
const SwAttrSet & GetAttrSet() const
tools::Long CalcRight(const SwFrame *pCaller) const
sal_uInt16 CalcBottom() const
SwCellFrame is one table cell in the document layout.
virtual void CheckDirection(bool bVert) override
const SwCellFrame & FindStartEndOfRowSpanCell(bool bStart) const
tools::Long GetLayoutRowSpan() const
const SwTableBox * GetTabBox() const
SwContentFrame is the layout for content nodes: a common base class for text (paragraph) and non-text...
virtual void Cut() override
virtual void Paste(SwFrame *pParent, SwFrame *pSibling=nullptr) override
SwContentFrame * GetNextContentFrame() const
SwTextFrame * FindMaster() const
void UpdateAttr_(const SfxPoolItem *, const SfxPoolItem *, SwContentFrameInvFlags &, SwAttrSetChg *pa=nullptr, SwAttrSetChg *pb=nullptr)
virtual void SwClientNotify(const SwModify &, const SfxHint &) override
virtual SwTwips ShrinkFrame(SwTwips, bool bTst=false, bool bInfo=false) override
virtual SwTwips GrowFrame(SwTwips, bool bTst=false, bool bInfo=false) override
SwContentFrame * getLayoutFrame(const SwRootFrame *, const SwPosition *pPos=nullptr, std::pair< Point, bool > const *pViewPosAndCalcFrame=nullptr) const
const SwFootnoteInfo & GetFootnoteInfo() const
IDocumentFieldsAccess const & getIDocumentFieldsAccess() const
IDocumentRedlineAccess const & getIDocumentRedlineAccess() const
SwFootnoteIdxs & GetFootnoteIdxs()
const sw::FrameFormats< sw::SpzFrameFormat * > * GetSpzFrameFormats() const
SwDocShell * GetDocShell()
virtual void UpdateFields()
general base class for all free-flowing frames
virtual const SwFlyFrameFormat * GetFormat() const override
bool IsFlyInContentFrame() const
virtual void CheckDirection(bool bVert) override
SwFrameAreaDefinition & mrTarget
void setSwRect(const SwRect &rNew)
void setSwRect(const SwRect &rNew)
~FramePrintAreaWriteAccess()
Helper class to isolate geometry-defining members of SwFrame and to control their accesses.
const SwRect & getFrameArea() const
bool isFrameAreaDefinitionValid() const
virtual basegfx::B2DHomMatrix getFrameAreaTransformation() const
const SwRect & getFramePrintArea() const
void setFramePrintAreaValid(bool bNew)
bool mbFrameAreaSizeValid
void setFrameAreaPositionValid(bool bNew)
bool mbFrameAreaPositionValid
virtual void transform_translate(const Point &rOffset)
bool isFramePrintAreaValid() const
virtual ~SwFrameAreaDefinition()
bool isFrameAreaSizeValid() const
bool mbFramePrintAreaValid
virtual basegfx::B2DHomMatrix getFramePrintAreaTransformation() const
void setFrameAreaSizeValid(bool bNew)
Base class of the Writer layout elements.
SwTwips Grow(SwTwips, bool bTst=false, bool bInfo=false)
const SwModify * GetRegisteredIn() const
bool IsFootnoteContFrame() const
void InsertBehind(SwLayoutFrame *pParent, SwFrame *pBefore)
Insert SwFrame into existing structure.
void ValidateThisAndAllLowers(const sal_uInt16 nStage)
void InvalidateLineNum_()
virtual bool Prepare(const PrepareHint ePrep=PrepareHint::Clear, const void *pVoid=nullptr, bool bNotify=true)
void RegisterToFormat(SwFormat &rFormat)
SwFrame * GetIndPrev() const
void CheckDirChange()
checks the layout direction and invalidates the lower frames recursively, if necessary.
SwTwips Shrink(SwTwips, bool bTst=false, bool bInfo=false)
SwFlyFrame * FindFlyFrame()
bool IsAccessibleFrame() const
void ImplInvalidateSize()
SwSectionFrame * FindSctFrame()
SwTabFrame * FindTabFrame()
bool InsertGroupBefore(SwFrame *pParent, SwFrame *pWhere, SwFrame *pSct)
Insert a chain of SwFrames into an existing structure.
void SetDirFlags(bool bVert)
Updates the vertical or the righttoleft-flags.
virtual SwTwips ShrinkFrame(SwTwips, bool bTst=false, bool bInfo=false)=0
bool IsColumnFrame() const
void ReinitializeFrameSizeAttrFlags()
void InvalidateNextPos(bool bNoFootnote=false)
InvalidationType
enumeration for the different invalidations #i28701#
virtual bool InvalidationAllowed(const InvalidationType _nInvalid) const
method to determine, if an invalidation is allowed.
SwFrameType GetType() const
bool IsInFootnote() const
bool IsHeaderFrame() const
void ImplInvalidateLineNum()
virtual void Calc(vcl::RenderContext *pRenderContext) const
void InvalidateObjs(const bool _bNoInvaOfAsCharAnchoredObjs=true)
bool IsRetoucheFrame() const
const SwSortedObjs * GetDrawObjs() const
virtual void SwClientNotify(const SwModify &, const SfxHint &) override
virtual void MakePos()
Calculates the frame area position, in case it's invalid.
bool KnowsFormat(const SwFormat &rFormat) const
bool IsRightToLeft() const
void InsertBefore(SwLayoutFrame *pParent, SwFrame *pBehind)
Insert SwFrame into existing structure.
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.
virtual bool IsDeleteForbidden() const
bool IsPageBodyFrame() const
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#
const SwRowFrame * IsInFollowFlowRow() const
friend class SwLayoutFrame
void dumpInfosAsXml(xmlTextWriterPtr writer) const
void UpdateAttrFrame(const SfxPoolItem *, const SfxPoolItem *, SwFrameInvFlags &)
bool IsFooterFrame() const
bool IsFootnoteFrame() const
SwLayoutFrame * GetUpper()
virtual void dumpAsXmlAttributes(xmlTextWriterPtr writer) const
bool IsCompletePaint() const
void InvalidatePage(const SwPageFrame *pPage=nullptr) const
Invalidates the page in which the Frame is currently placed.
SwRootFrame * getRootFrame()
void SetCompletePaint() const
bool IsContentFrame() const
void CheckDir(SvxFrameDirection nDir, bool bVert, bool bOnlyBiDi, bool bBrowse)
virtual void CheckDirection(bool bVert)
bool IsFootnoteBossFrame() const
virtual SwTwips GrowFrame(SwTwips, bool bTst=false, bool bInfo=false)=0
SwContentFrame * FindNextCnt(const bool _bInSameFootnote=false)
SwTwips AdjustNeighbourhood(SwTwips nDiff, bool bTst=false)
Adjust surrounding neighbourhood after insertion.
SwPageFrame * FindPageFrame()
const SwRowFrame * IsInSplitTableRow() const
SwFrame * FindFooterOrHeader()
SwFootnoteFrame * FindFootnoteFrame()
virtual const IDocumentDrawModelAccess & getIDocumentDrawModelAccess()
virtual const SwFormatPageDesc & GetPageDescItem() const
virtual void ActionOnInvalidation(const InvalidationType _nInvalid)
method to perform additional actions on an invalidation
SwFootnoteBossFrame * FindFootnoteBossFrame(bool bFootnotes=false)
virtual Size ChgSize(const Size &aNewSize)
SwFrame(sw::BroadcastingModify *, SwFrame *)
static void DestroyFrame(SwFrame *const pFrame)
this is the only way to delete a SwFrame instance
void dumpChildrenAsXml(xmlTextWriterPtr writer) const
bool IsLayoutFrame() const
bool IsNeighbourFrame() const
bool IsColBodyFrame() const
These SwFrame inlines are here, so that frame.hxx does not need to include layfrm....
void SetCheckPageNum(sal_uInt16 nNew)
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.
void AdjustColumns(const SwFormatCol *pCol, bool bAdjustAttributes)
virtual void Format(vcl::RenderContext *pRenderContext, const SwBorderAttrs *pAttrs=nullptr) override
"Formats" the Frame; Frame and PrtArea.
bool IsAnLower(const SwFrame *) const
virtual const SwFrameFormat * GetFormat() const
virtual SwTwips GrowFrame(SwTwips, bool bTst=false, bool bInfo=false) override
const SwFrame * ContainsAny(const bool _bInvestigateFootnoteForSections=false) const
Method <ContainsAny()> doesn't investigate content of footnotes by default.
virtual void Paste(SwFrame *pParent, SwFrame *pSibling=nullptr) override
virtual SwTwips ShrinkFrame(SwTwips, bool bTst=false, bool bInfo=false) override
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...
tools::Long CalcRel(const SwFormatFrameSize &rSz) const
void InvaPercentLowers(SwTwips nDiff=0)
Invalidates the inner Frames, whose width and/or height are calculated using percentages.
SwTwips InnerHeight() const
InnerHeight returns the height of the content and may be bigger or less than the PrtArea-Height of th...
const SwFrame * Lower() const
virtual void Cut() override
void FormatWidthCols(const SwBorderAttrs &, const SwTwips nBorder, const SwTwips nMinHeight)
Called by Format for Frames and Areas with columns.
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
SwContentNode * GetContentNode()
SwTableNode * GetTableNode()
std::vector< SwFrameFormat * > const & GetAnchoredFlys() const
const SwEndNode * EndOfSectionNode() const
SwNode & GetEndOfAutotext() const
Section for all Flys/Header/Footers.
SwNode & GetEndOfContent() const
Regular ContentSection (i.e. the BodyText).
SwNode & GetEndOfInserts() const
Section for all footnotes.
const SwPosition * Start() const
A page of the document layout.
void InvalidateContent() const
void InvalidateWordCount() const
void InvalidateFlyLayout() const
Validate, invalidate and query the Page status Layout/Content and Fly/non-Fly respectively are inspec...
void InvalidateAutoCompleteWords() const
sal_uInt16 GetPhyPageNum() const
void InvalidateFlyInCnt() const
const SwSortedObjs * GetSortedObjs() const
void InvalidateSmartTags() const
void InvalidateSpelling() const
void InvalidateLayout() const
bool IsFootnotePage() const
Foot note interface.
void InvalidateFlyContent() const
RedlineType GetType(sal_uInt16 nPos=0) const
tools::Long GetHeight(const SwRect &rRect) const
tools::Long GetTopMargin(const SwFrame &rFrame) const
void SetYMargins(SwFrame &rFrame, tools::Long nTop, tools::Long nBottom) const
void SetHeight(SwRect &rRect, tools::Long nNew) const
tools::Long GetTop(const SwRect &rRect) const
void AddBottom(SwRect &rRect, tools::Long nNew) const
tools::Long BottomDist(const SwRect &rRect, tools::Long nPos) const
tools::Long GetPrtBottom(const SwFrame &rFrame) const
Of course Writer needs its own rectangles.
void Height(tools::Long nNew)
void Top(const tools::Long nTop)
void Right(const tools::Long nRight)
void Bottom(const tools::Long nBottom)
void Pos(const Point &rNew)
void SSize(const Size &rNew)
void AddHeight(const tools::Long nAdd)
bool Overlaps(const SwRect &rRect) const
void Left(const tools::Long nLeft)
void Width(tools::Long nNew)
The root element of a Writer document layout.
SwViewShell * GetCurrShell() const
const SwContentFrame * GetTurbo() const
void SetSuperfluous()
Remove superfluous Pages.
bool HasMergedParas() const
bool IsAnyShellAccessible() const
void SetHideRedlines(bool)
void SetTurbo(const SwContentFrame *pContent)
bool IsHideRedlines() const
Replacement for sw::DocumentRedlineManager::GetRedlineFlags() (this is layout-level redline hiding).
void SetNeedGrammarCheck(bool bVal)
void InvalidateAllContent(SwInvalidateFlags nInvalidate)
Invalidate all Content, Size or PrtArea.
sw::FieldmarkMode GetFieldmarkMode() const
void DisallowTurbo() const
void InvalidateAllObjPos()
Invalidate/re-calculate the position of all floating screen objects (Writer fly frames and drawing ob...
bool IsTurboAllowed() const
sw::FieldmarkMode m_FieldmarkMode
void SetFieldmarkMode(sw::FieldmarkMode, sw::ParagraphBreakMode)
sw::ParagraphBreakMode GetParagraphBreakMode() const
void dumpAsXml(xmlTextWriterPtr writer=nullptr) const override
sw::ParagraphBreakMode m_ParagraphBreakMode
void DelEmpty(bool bRemove)
SwTwips Shrink_(SwTwips, bool bTst)
SwTwips Grow_(SwTwips, bool bTst)
SwContentFrame * FindLastContent(SwFindMode nMode=SwFindMode::None)
SwTwips Undersize()
Returns the size delta that the section would like to be greater if it has undersized TextFrames in i...
virtual void CheckDirection(bool bVert) override
const SwSectionFrame * GetFollow() const
A section node represents the start of a section on the UI, i.e.
const SwSection & GetSection() const
bool IsHiddenFlag() const
class for collecting anchored objects
SwTabFrame is one table in the document layout, containing rows (which contain cells).
SwContentFrame * FindLastContent()
virtual void CheckDirection(bool bVert) override
SwTabFrame * FindMaster(bool bFirstMaster=false) const
const SwTabFrame * GetFollow() const
SwRowFrame * GetFirstNonHeadlineRow() const
void SetResizeHTMLTable()
const SwTable * GetTable() const
void SetRemoveFollowFlowLinePending(bool bNew)
sal_Int32 getRowSpan() const
const SwTable & GetTable() const
void MakeOwnFrames(SwPosition *pIdxBehind=nullptr)
Creates the frms for the table node (i.e.
void DelFrames(SwRootFrame const *pLayout=nullptr)
Method deletes all views of document for the node.
bool HasDeletedRowOrCell() const
SwHTMLTableLayout * GetHTMLTableLayout()
const SwFormatFootnote & GetFootnote() const
Represents the visualization of a paragraph.
SwTextFrame * GetFollow()
sw::MergedPara * GetMergedPara()
SwTwips GetParHeight() const
Returns the sum of line height in pLine.
virtual void CheckDirection(bool bVert) override
SwTextNode * GetTextNodeFirst()
SwTextNode const * GetTextNodeForParaProps() const
SwTextNode is a paragraph in the document model.
bool IsGrammarCheckDirty() const
bool IsNumbered(SwRootFrame const *pLayout=nullptr) const
Returns is this text node is numbered.
void NumRuleChgd()
Notify this textnode that its numbering rule has changed.
bool getBrowseMode() const
bool IsWhitespaceHidden() const
bool IsShowChangesInMargin() const
void CheckWaitCursor()
If an Action is running we ask it to check whether it's time to enable the WaitCursor.
void SetFirstVisPageInvalid()
bool IsAction() const
SS for the Lay-/IdleAction and relatives.
SwLayAction & GetLayAction()
void MoveAccessibleFrame(const SwFrame *pFrame, const SwRect &rOldFrame)
vcl::RenderContext * GetOut() const
const SwViewOption * GetViewOptions() const
const SwRect & VisArea() const
sal_Int32 GetBrowseWidth() const
void InvalidateWindows(const SwRect &rRect)
SfxViewShell * GetSfxViewShell() const
void dumpAsXml(xmlTextWriterPtr pWriter) const override
See SfxViewShell::dumpAsXml().
bool decompose(B2DTuple &rScale, B2DTuple &rTranslate, double &rRotate, double &rShearX) const
BASEGFX_DLLPUBLIC void transform(const B2DHomMatrix &rMatrix)
#define PROTOCOL_ENTER(pFrame, nFunc, nAct, pPar)
struct _xmlTextWriter * xmlTextWriterPtr
virtual SotClipboardFormatId GetFormat(const TransferableDataHelper &aHelper) override
EmbeddedObjectRef * pObject
@ Fixed
Frame cannot be moved in Var-direction.
@ Variable
Frame is variable in Var-direction.
@ Minimum
Value in Var-direction gives minimum (can be exceeded but not be less).
SwRectFn fnRectVertL2RB2T
constexpr TypedWhichId< SvxFrameDirectionItem > RES_FRAMEDIR(126)
constexpr TypedWhichId< SvxFormatKeepItem > RES_KEEP(116)
constexpr TypedWhichId< SvxUnderlineItem > RES_CHRATR_UNDERLINE(14)
constexpr TypedWhichId< SvxAutoKernItem > RES_CHRATR_AUTOKERN(17)
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_FONTSIZE(8)
constexpr TypedWhichId< SwFormatRowSplit > RES_ROW_SPLIT(128)
constexpr TypedWhichId< SvxFirstLineIndentItem > RES_MARGIN_FIRSTLINE(91)
constexpr TypedWhichId< SvxShadowedItem > RES_CHRATR_SHADOWED(13)
constexpr TypedWhichId< SwFormatFrameSize > RES_FRM_SIZE(89)
constexpr TypedWhichId< SwFormatCol > RES_COL(115)
constexpr TypedWhichId< SvxShadowItem > RES_SHADOW(113)
constexpr TypedWhichId< SfxBoolItem > RES_RTL_GUTTER(139)
constexpr TypedWhichId< SwFormatPageDesc > RES_PAGEDESC(99)
constexpr TypedWhichId< SvxBrushItem > RES_BACKGROUND(111)
constexpr TypedWhichId< SvxContourItem > RES_CHRATR_CONTOUR(4)
constexpr TypedWhichId< SvxEscapementItem > RES_CHRATR_ESCAPEMENT(6)
constexpr TypedWhichId< SvxTabStopItem > RES_PARATR_TABSTOP(68)
constexpr TypedWhichId< SwAttrSetChg > RES_ATTRSET_CHG(169)
constexpr TypedWhichId< SwHeaderAndFooterEatSpacingItem > RES_HEADER_FOOTER_EAT_SPACING(127)
constexpr TypedWhichId< SwNumRuleItem > RES_PARATR_NUMRULE(72)
constexpr TypedWhichId< SvxOverlineItem > RES_CHRATR_OVERLINE(38)
constexpr TypedWhichId< SwDrawFrameFormat > RES_DRAWFRMFMT(165)
constexpr TypedWhichId< SvxBoxItem > RES_BOX(112)
constexpr TypedWhichId< SvxFormatBreakItem > RES_BREAK(100)
constexpr TypedWhichId< SvxRightMarginItem > RES_MARGIN_RIGHT(93)
constexpr TypedWhichId< SvxTextLeftMarginItem > RES_MARGIN_TEXTLEFT(92)
constexpr TypedWhichId< SwParaConnectBorderItem > RES_PARATR_CONNECT_BORDER(78)
constexpr TypedWhichId< SvxKerningItem > RES_CHRATR_KERNING(9)
constexpr TypedWhichId< SvxFontItem > RES_CHRATR_FONT(7)
constexpr TypedWhichId< SvxLRSpaceItem > RES_LR_SPACE(97)
constexpr TypedWhichId< SvxULSpaceItem > RES_UL_SPACE(98)
constexpr TypedWhichId< SfxBoolItem > RES_BACKGROUND_FULL_SIZE(138)
constexpr TypedWhichId< SwFormatChg > RES_FMT_CHG(168)
#define SAL_WARN(area, stream)
tools::Long const nBorder
B2DHomMatrix createScaleTranslateB2DHomMatrix(double fScaleX, double fScaleY, double fTranslateX, double fTranslateY)
B2DHomMatrix createRotateAroundPoint(double fPointX, double fPointY, double fRadiant)
B2DTuple absolute(const B2DTuple &rTup)
B2IRange fround(const B2DRange &rRange)
constexpr T saturating_add(T a, T b)
css::uno::Reference< css::linguistic2::XProofreadingIterator > get(css::uno::Reference< css::uno::XComponentContext > const &context)
Dialog to specify the properties of date form field.
void RemoveFootnotesForNode(SwRootFrame const &rLayout, SwTextNode const &rTextNode, std::vector< std::pair< sal_Int32, sal_Int32 > > const *const pExtents)
bool IsPageFrameEmpty(SwPageFrame const &rPage)
check if there's content on the page that requires it to exist
void AddRemoveFlysAnchoredToFrameStartingAtNode(SwTextFrame &rFrame, SwTextNode &rTextNode, std::set< SwNodeOffset > *pSkipped)
rTextNode is the first one of the "new" merge - if rTextNode isn't the same as MergedPara::pFirstNode...
std::unique_ptr< sw::MergedPara > CheckParaRedlineMerge(SwTextFrame &rFrame, SwTextNode &rTextNode, FrameMode eMode)
SwNodeOffset min(const SwNodeOffset &a, const SwNodeOffset &b)
SwNodeOffset abs(const SwNodeOffset &a)
Marks a position in the document model.
SwFrameGet fnGetPrtBottom
Describes parts of multiple text nodes, which will form a text frame, even when redlines are hidden a...
@ AdjustSizeWithoutFormatting
static void lcl_InvalidateAllContent(SwContentFrame *pCnt, SwInvalidateFlags nInv)
static void lcl_InvalidateContent(SwContentFrame *pCnt, SwInvalidateFlags nInv)
static void UnHideRedlines(SwRootFrame &rLayout, SwNodes &rNodes, SwNode const &rEndOfSectionNode, std::set< SwNodeOffset > *const pSkipped)
static bool lcl_IsFlyHeightClipped(SwLayoutFrame *pLay)
static SwContentFrame * lcl_InvalidateSection(SwFrame *pCnt, SwInvalidateFlags nInv)
static tools::Long lcl_CalcMinColDiff(SwLayoutFrame *pLayFrame)
static void UnHideRedlinesExtras(SwRootFrame &rLayout, SwNodes &rNodes, SwNode const &rEndOfExtraSectionNode, std::set< SwNodeOffset > *const pSkipped)
static SwContentFrame * lcl_InvalidateTable(SwTabFrame *pTable, SwInvalidateFlags nInv)
static void InvaPercentFlys(SwFrame *pFrame, SwTwips nDiff)
static void AddRemoveFlysForNode(SwTextFrame &rFrame, SwTextNode &rTextNode, std::set< SwNodeOffset > *const pSkipped, const sw::FrameFormats< sw::SpzFrameFormat * > &rTable, SwPageFrame *const pPage, SwTextNode const *const pNode, std::vector< sw::Extent >::const_iterator const &rIterFirst, std::vector< sw::Extent >::const_iterator const &rIterEnd, SwTextNode const *const pFirstNode, SwTextNode const *const pLastNode)
static void UnHide(SwRootFrame &rLayout)
constexpr sal_uInt16 XATTR_FILL_FIRST(XATTRSET_LINE+1)
constexpr sal_uInt16 XATTR_FILL_LAST(XATTR_FILLUSESLIDEBACKGROUND)