20 #include <config_wasm_strip.h>
54 #define SLOPPY_TWIPS 5
60 static sal_uInt16 s_nLevel;
62 FormatLevel() { ++s_nLevel; }
63 ~FormatLevel() { --s_nLevel; }
64 static sal_uInt16 GetLevel() {
return s_nLevel; }
65 static bool LastLevel() {
return 10 < s_nLevel; }
70 sal_uInt16 FormatLevel::s_nLevel = 0;
102 pUp->
Calc(pRenderContext);
109 assert(
HasPara() &&
"ResetPreps(), missing ParaPortion, SwCache bug?");
128 pFrame->
Calc(pRenderContext);
131 const bool bOld =
static_cast<SwSectionFrame*
>(pFrame)->IsContentLocked();
133 pFrame->
Calc(pRenderContext);
153 OSL_ENSURE(
HasPara(),
"SwTextFrame::GetDropRect_: try again next year." );
155 SwTextMargin aLine( const_cast<SwTextFrame*>(
this), &aInf );
158 rRect.
Top( aLine.
Y() );
179 OSL_ENSURE(
HasFollow(),
"CalcFollow: missing Follow." );
191 #if OSL_DEBUG_LEVEL > 0
200 bool bOldInvaContent =
true;
237 if( !FormatLevel::LastLevel() )
259 bool bIsFollowInColumn =
false;
261 while ( pFollowUpper )
265 bIsFollowInColumn =
true;
273 pFollowUpper = pFollowUpper->
GetUpper();
275 if ( bIsFollowInColumn )
281 pMyFollow->
Calc(pRenderContext);
283 OSL_ENSURE( !pMyFollow->
GetPrev(),
"SwTextFrame::CalcFollow: cheesy follow" );
287 pMyFollow->
Calc(pRenderContext);
288 OSL_ENSURE( !pMyFollow->
GetPrev(),
"SwTextFrame::CalcFollow: very cheesy follow" );
319 if ( pPage && !bOldInvaContent )
322 #if OSL_DEBUG_LEVEL > 0
323 OSL_ENSURE( pOldUp ==
GetUpper(),
"SwTextFrame::CalcFollow: heavy follow" );
328 if ( nRemaining > 0 &&
329 nRemaining != ( aRectFnSet.
IsVert() ?
356 && pRedln->
GetType() == RedlineType::Delete
385 if( nChgHght && !bHasToFit )
390 if( nReal < nChgHght )
430 { pPre->
Calc(pRenderContext);
432 }
while ( pPre && pPre !=
this );
451 OSL_ENSURE( !
IsSwapped(),
"Swapped frame while calculating nRstHeight" );
477 OSL_ENSURE( nAdd >= 0,
"Ey" );
488 if( nRstHeight < nFrameHeight )
492 nRstHeight +=
GetUpper()->
Grow( nFrameHeight - nRstHeight );
496 if ( nRstHeight < nFrameHeight )
508 else if( nChgHeight )
510 if( nRstHeight - nFrameHeight < nChgHeight )
511 nChgHeight = nRstHeight - nFrameHeight;
528 CurrentPos -= aCharPos.X();
539 css::style::TabStop ts;
545 case SvxTabAdjust::Left : ts.Alignment = css::style::TabAlign_LEFT;
break;
546 case SvxTabAdjust::Center : ts.Alignment = css::style::TabAlign_CENTER;
break;
547 case SvxTabAdjust::Right : ts.Alignment = css::style::TabAlign_RIGHT;
break;
548 case SvxTabAdjust::Decimal: ts.Alignment = css::style::TabAlign_DECIMAL;
break;
549 case SvxTabAdjust::Default: ts.Alignment = css::style::TabAlign_DEFAULT;
break;
570 if(
HasFollow() && !(nMode & 1) && nOffset == nEnd )
577 SAL_INFO(
"sw.core",
"+SwTextFrame::JoinFrame: Follow is locked." );
618 OSL_ENSURE(
GetFollow(),
"+SwTextFrame::JoinFrame: no follow" );
636 if (pHt->GetFootnote().IsEndNote())
658 OSL_ENSURE( !pFoll->
HasFootnote(),
"Missing FootnoteFlag." );
669 #if !ENABLE_WASM_STRIP_ACCESSIBILITY
672 if ( pViewShell && pViewShell->GetLayout() &&
673 pViewShell->GetLayout()->IsAnyShellAccessible() )
676 pViewShell->InvalidateAccessibleParaFlowRelation(
677 pNext ? pNext->DynCastTextFrame() :
nullptr,
707 #if !ENABLE_WASM_STRIP_ACCESSIBILITY
710 if ( pViewShell && pViewShell->GetLayout() &&
711 pViewShell->GetLayout()->IsAnyShellAccessible() )
714 pViewShell->InvalidateAccessibleParaFlowRelation(
715 pNext ? pNext->DynCastTextFrame() :
nullptr,
734 if (pHt->GetFootnote().IsEndNote())
755 OSL_ENSURE( !
HasFootnote(),
"Missing FootnoteFlag." );
785 OSL_ENSURE( !
IsVertical() || !
IsSwapped(),
"SwTextFrame::CalcPreps with swapped frame" );
791 const bool bPrep = pPara->
IsPrep();
806 OSL_ENSURE(
GetFollow(),
"+SwTextFrame::CalcPreps: no credits" );
824 else if ( aRectFnSet.
IsVert() )
867 "+SwTextFrame::CalcPrep: want to shrink" );
876 if ( aRectFnSet.
IsVert() )
885 if( 0 >= rRepaint.
Width() )
890 else if ( bPrepAdjust )
924 while( !bBreak && aLine.
Next() )
966 if( aRectFnSet.
IsVert() && nIs < nMust )
978 else if ( ! aRectFnSet.
IsVert() && nIs > nMust )
1033 bool bOnlyContainsAsCharAnchoredObj =
1036 (*
GetDrawObjs())[0]->GetFrameFormat().GetAnchor().GetAnchorId() == RndStdIds::FLY_AS_CHAR;
1040 bOnlyContainsAsCharAnchoredObj =
false;
1042 if ( nNew && bOnlyContainsAsCharAnchoredObj )
1061 bool bDelta = pPara->
GetDelta() != 0;
1071 if( !rFrameBreak.
FindBreak(
this, rLine, bHasToFit ) )
1080 if( nNew && nOld < nEnd )
1121 if (nNew && nOld < nEnd)
1135 bHasVisibleNumRule =
false;
1142 if ( !bOnlyContainsAsCharAnchoredObj &&
1144 bHasVisibleNumRule )
1153 if( bDummy && pBodyFrame &&
1168 if ( nChg < 0 && !bDelta && bOnlyContainsAsCharAnchoredObj )
1182 rRepaint.
Left( rRepaint.
Left() - nChg );
1199 "SwTextFrame::FormatLine( rLine, bPrev) with unswapped frame" );
1206 const bool bOldHyph = pOldCur->
IsEndHyph();
1215 "SwTextFrame::FormatLine: frame leaves orbit." );
1217 "SwTextFrame::FormatLine: line height is zero" );
1222 bool bUnChg = nOldLen == pNew->GetLen() &&
1223 bOldHyph == pNew->IsEndHyph();
1224 if ( bUnChg && !bPrev )
1226 const tools::Long nWidthDiff = nOldWidth > pNew->Width()
1227 ? nOldWidth - pNew->Width()
1228 : pNew->Width() - nOldWidth;
1232 bUnChg = nOldHeight == pNew->Height() &&
1233 nOldAscent == pNew->GetAscent() &&
1241 if( bUnChg && rRepaint.
Top() == rLine.
Y()
1245 rRepaint.
Top( nBottom );
1252 if( nOldTop < rRepaint.
Top() )
1253 rRepaint.
Top( nOldTop );
1256 rRepaint.
Bottom( nOldBottom - 1 );
1264 if( nTmpTop < rRepaint.
Top() )
1265 rRepaint.
Top( nTmpTop );
1268 rRepaint.
Bottom( nTmpBottom - 1 );
1276 rRepaint.
Bottom( nBottom - 1 );
1280 SwTwips nRght = std::max( nOldWidth, pNew->Width() +
1281 pNew->GetHangingMargin() );
1283 const SwViewOption *pOpt = pSh ? pSh->GetViewOptions() :
nullptr;
1285 nRght += ( std::max( nOldAscent, pNew->GetAscent() ) );
1287 nRght += ( std::max( nOldAscent, pNew->GetAscent() ) / 4);
1294 const bool bHasUnderscore =
1303 const sal_Int32 nDiff = sal_Int32(pNew->GetLen()) - sal_Int32(nOldLen);
1325 if( nNewStart <= nEnd )
1332 const bool bAdjust )
1339 const OUString & rString =
GetText();
1344 std::unique_ptr<SwRepaint> pFreeze;
1348 if( rReformat.Len() > nStrLen )
1349 rReformat.Len() = nStrLen;
1351 if( rReformat.Start() + rReformat.Len() > nStrLen )
1352 rReformat.Len() = nStrLen - rReformat.Start();
1358 nOldBottom = rLine.
Y();
1380 bool bPrev = rLine.
GetPrev() &&
1384 >= rReformat.Start() ||
1388 while( rLine.
Prev() )
1399 if (
CH_BREAK == rString[sal_Int32(nNew)])
1406 rReformat.Len() += rReformat.Start() - nNew;
1407 rReformat.Start() = nNew;
1415 rRepaint.
Top( rLine.
Y() );
1416 if( 0 >= rRepaint.
Width() )
1425 bool bFormat =
true;
1436 bool bPrevDone =
nullptr != rLine.
Prev();
1437 while( bPrevDone && aFrameBreak.IsBreakNowWidAndOrp(rLine) )
1438 bPrevDone =
nullptr != rLine.
Prev();
1441 aFrameBreak.SetKeep(
false );
1447 aFrameBreak.IsBreakNowWidAndOrp(rLine);
1464 bool bJumpEndHyph =
false;
1465 bool bWatchEndHyph =
false;
1466 bool bJumpMidHyph =
false;
1467 bool bWatchMidHyph =
false;
1471 bool bMaxHyph = 0 != rInf.
MaxHyph();
1478 OSL_ENSURE( pMaster,
"SwTextFrame::Format: homeless follow" );
1484 SAL_WARN(
"sw",
"SwTextFrame::Format_: master not formatted!");
1491 pLine = aMasterLine.
GetCurr();
1542 if ( !bFormat && bMaxHyph &&
1543 (bWatchEndHyph || bJumpEndHyph || bWatchMidHyph || bJumpMidHyph) )
1547 if ( bWatchEndHyph )
1552 bFormat = bJumpEndHyph;
1553 bWatchEndHyph =
false;
1554 bJumpEndHyph =
false;
1558 if ( bWatchMidHyph && !bFormat )
1563 bFormat |= bJumpMidHyph;
1564 bWatchMidHyph =
false;
1565 bJumpMidHyph =
false;
1579 bWatchEndHyph = !bOldEndHyph;
1580 bJumpEndHyph = bOldEndHyph;
1584 bWatchMidHyph = !bOldMidHyph;
1585 bJumpMidHyph = bOldMidHyph;
1593 bFormat =
nullptr != rInf.
GetRest();
1596 if( !bFormat && ( !bMaxHyph || ( !bWatchEndHyph &&
1597 !bJumpEndHyph && !bWatchMidHyph && !bJumpMidHyph ) ) )
1601 while( rLine.
Next() )
1603 pFreeze.reset(
new SwRepaint( rRepaint ));
1609 bBreak = aFrameBreak.IsBreakNowWidAndOrp(rLine);
1614 rRepaint = *pFreeze;
1623 bool bTruncLines =
false;
1637 nLen += pLine->GetLen();
1639 bTruncLines = nLen > nStrLen;
1665 if( nNewBottom < nOldBottom )
1673 "A frame is not swapped in SwTextFrame::FormatOnceMore" );
1680 sal_uInt16 nOld =
static_cast<const SwTextMargin&
>(rLine).GetDropHeight();
1681 bool bShrink =
false;
1699 const sal_uInt16 nNew =
static_cast<const SwTextMargin&
>(rLine).GetDropHeight();
1709 if( bShrink == bGrow || 5 < nGo )
1734 const bool bIsEmpty =
GetText().isEmpty();
1752 OSL_ENSURE( !
IsSwapped(),
"A frame is swapped before Format_" );
1770 OSL_ENSURE( !
IsSwapped(),
"A frame is swapped after Format_" );
1775 if( SvxAdjust::Left != aLine.
GetAdjust() &&
1813 else if( 240 < nFrameHeight )
1815 Shrink( nFrameHeight - 240 );
1817 else if( 240 > nFrameHeight )
1819 Grow( 240 - nFrameHeight );
1825 if( nTop > nFrameHeight )
1845 if( 12 == FormatLevel::GetLevel() )
1887 SAL_WARN(
"sw",
"SwTextFrame::Format: failed to format master!");
1900 const bool bSetOffset =
1917 else if( bSetOffset &&
IsFollow() )
1920 OSL_ENSURE( pMaster,
"SwTextFrame::Format: homeless follow" );
1927 aRectFnSet.
SetLimit( *
this, nMaxY );
1941 const bool bOrphan =
IsWidow();
1952 if( pFootnoteBoss && nFootnoteHeight )
1958 if( nNewHeight < nFootnoteHeight )
1959 nFootnoteHeight = nNewHeight;
1965 }
while ( pFootnoteBoss );
2000 SAL_INFO(
"sw.core",
"Warn: Cell content has greater size than cell height!");
2023 "SwTextFrame::FormatQuick with swapped frame" );
2057 int nLoopProtection = 0;
2061 if (nNewStart == nStart)
2064 nLoopProtection = 0;
2066 const bool bWillEndlessInsert = nLoopProtection > 250;
2067 SAL_WARN_IF(bWillEndlessInsert,
"sw",
"loop detection triggered");
2068 if ((!bWillEndlessInsert)
2072 }
while( aLine.
Next() );
2080 if( !bForceQuickFormat && nNewHeight != nOldHeight && !
IsUndersized() )
void HideHidden()
Removes Textfrm's attachments, when it's hidden.
bool IsAnLower(const SwFrame *) const
vcl::RenderContext * GetOut() const
void CalcAdditionalFirstLineOffset()
Simulate format for a list item paragraph, whose list level attributes are in LABEL_ALIGNMENT mode...
SwNodeOffset min(const SwNodeOffset &a, const SwNodeOffset &b)
virtual void Height(const SwTwips nNew, const bool bText=true) override
Base class of the Writer layout elements.
sal_uInt8 & GetMaxHyphens()
const sal_Unicode CH_BREAK
Represents the visualization of a paragraph.
bool FindBreak(SwTextFrame *pFrame, SwTextMargin &rLine, bool bHasToFit)
The Find*-Methods do not only search, but adjust the SwTextMargin to the line where the paragraph sho...
TextFrameIndex FormatQuoVadis(TextFrameIndex nStart)
void SwitchVerticalToHorizontal(SwRect &rRect) const
Calculates the coordinates of a rectangle when switching from vertical to horizontal layout...
const SvxHyphenZoneItem & GetHyphenZone(bool=true) const
SwTwips GetParHeight() const
Returns the sum of line height in pLine.
void Right(const tools::Long nRight)
void SetRstHeight(const SwTextMargin &rLine)
const SwSortedObjs * GetDrawObjs() const
void Right(const SwTwips nNew)
bool IsPrepAdjust() const
sal_uInt16 GetLineNr() const
bool FollowFormatAllowed() const
SwTwips Grow(SwTwips, bool bTst=false, bool bInfo=false)
const SwTwips WIDOW_MAGIC
tools::Long BottomDist(const SwRect &rRect, tools::Long nPos) const
void MakeDummyLine()
This function creates a Line that reaches to the other Page Margin.
void ChangeOffset(SwTextFrame *pFrame, TextFrameIndex nNew)
const SwFormatDrop * GetDropFormat() const
void CalcBaseOfstForFly()
TextFrameIndex GetStart() const
void MaybeNotifyRedlinePositionModification(tools::Long nTop)
void Left(const tools::Long nLeft)
void SetCompletePaint() const
SwParaPortion * GetPara()
bool IsInFootnote() const
void SwitchHorizontalToVertical(SwRect &rRect) const
Calculates the coordinates of a rectangle when switching from horizontal to vertical layout...
SwTwips GetHangingMargin() const
const SwRect & getFramePrintArea() const
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! The void*...
const SwPosition * GetMark() const
sw::MergedPara * GetMergedPara()
bool IsEmptyMaster() const
If there's a Follow and we don't contain text ourselves.
TextFrameIndex GetUnderScorePos() const
void ValidateContent() const
sal_uInt16 GetDropHeight() const
void MoveFlyInCnt(SwTextFrame *pNew, TextFrameIndex nStart, TextFrameIndex nEnd)
Rewires FlyInContentFrame, if nEnd > Index >= nStart.
SwParaPortion * GetPara()
const SwBodyFrame * FindBodyFrame() const
void CharToLine(TextFrameIndex)
void Format_(vcl::RenderContext *pRenderContext, SwParaPortion *pPara)
bool GetDropRect_(SwRect &rRect) const
const SwLineLayout * Next()
bool FormatLine(SwTextFormatter &rLine, const bool bPrev)
static void DestroyFrame(SwFrame *const pFrame)
this is the only way to delete a SwFrame instance
void HideAndShowObjects()
Hides respectively shows objects, which are anchored at paragraph, at/as a character of the paragraph...
void Pos(const Point &rNew)
virtual void Calc(vcl::RenderContext *pRenderContext) const
bool IsKeepAlways() const
Of course Writer needs its own rectangles.
const OUString & GetText() const
Returns the text portion we want to edit (for inline see underneath)
tools::Long GetWidth(const SwRect &rRect) const
void AddBottom(SwRect &rRect, tools::Long nNew) const
Collection of SwLineLayout instances, represents the paragraph text in Writer layout.
void SetTopAndHeight(tools::Long nTop, tools::Long nNew)
bool isFrameAreaDefinitionValid() const
SwTextAttr const * NextAttr(SwTextNode const **ppNode=nullptr)
void SetJustWidow(const bool bNew)
void CalcFootnoteFlag(TextFrameIndex nStop=TextFrameIndex(COMPLETE_STRING))
Does the Frame have a local footnote (in this Frame or Follow)?
bool IsBreakNowWidAndOrp(SwTextMargin &rLine)
bool FormatQuick(bool bForceQuickFormat)
SwTextFormatInfo & GetInfo()
bool IsHiddenNow() const
Hidden.
tools::Long GetTop(const SwRect &rRect) const
void CalcUnclipped(SwTwips &rTop, SwTwips &rBottom)
const SwRegisterItem & GetRegister(bool=true) const
void InvalidateObjs(const bool _bNoInvaOfAsCharAnchoredObjs=true)
bool IsMoveable(const SwLayoutFrame *_pLayoutFrame=nullptr) const
determine, if frame is moveable in given environment
constexpr TypedWhichId< SwFormatFootnote > RES_TXTATR_FTN(59)
const SwRect & getFrameArea() const
A wrapper around SfxPoolItem to store the start position of (usually) a text portion, with an optional end.
sal_Unicode GetChar(TextFrameIndex const nPos) const
void SetDelta(tools::Long nDelta)
void Width(tools::Long nNew)
sal_Unicode & GetDecimal()
void CtorInitTextFormatInfo(OutputDevice *pRenderContext, SwTextFrame *pFrame, const bool bInterHyph=false, const bool bQuick=false, const bool bTst=false)
void SetLimit(SwFrame &rFrame, tools::Long nNew) const
const SvxFormatKeepItem & GetKeep(bool=true) const
void SetTruncLines(bool bNew)
SwTextFrame * GetFollow()
TextFrameIndex GetOffset() const
const SwAttrSet * GetAttrSet() const
WARNING: this may not return correct RES_PAGEDESC/RES_BREAK items for SwTextFrame, use GetBreakItem()/GetPageDescItem() instead.
SvxTabAdjust & GetAdjustment()
bool IsInvalidContent() const
void SetUndersized(const bool bNew)
bool CalcFollow(TextFrameIndex nTextOfst)
bool IsFollowField() const
bool IsColumnFrame() const
SwFootnoteFrame * FindFootnoteFrame()
void swap(cow_wrapper< T, P > &a, cow_wrapper< T, P > &b)
SwTextNode * GetTextNodeFirst()
void SetDropLines(const sal_uInt16 nNew)
SwTextNode const * GetTextNodeForParaProps() const
SwTwips GetFirstPos() const
SwFrame * GetIndPrev() const
void AdjustFollow_(SwTextFormatter &rLine, TextFrameIndex nOffset, TextFrameIndex nStrEnd, const sal_uInt8 nMode)
const IDocumentRedlineAccess & getIDocumentRedlineAccess() const
Provides access to the document redline interface.
SwTwips GetLineStart() const
tools::Long GetPrtBottom(const SwFrame &rFrame) const
Collection of SwLinePortion instances, representing one line of text.
const SwPosition * GetPoint() const
bool IsInside(SwTextMargin const &rLine) const
BP 18.6.93: Widows.
const SwLineInfo & GetLineInfo() const
void SplitFrame(TextFrameIndex nTextPos)
Methods to manage the FollowFrame.
const SwSectionFrame * GetFollow() const
SwPageFrame * FindPageFrame()
SwParaPortion * GetParaPortion()
virtual bool IsDeleteForbidden() const
Helper class which can be used instead of the macros if a function has too many returns.
SwCharRange & GetReformat()
tools::Long YInc(tools::Long n1, tools::Long n2) const
const SwFrame * Lower() const
SwContentFrame * FindNextCnt(const bool _bInSameFootnote=false)
void ManipOfst(TextFrameIndex const nNewOfst)
SwNodeOffset GetIndex() const
vector_type::size_type size_type
tools::Long GetHeight(const SwRect &rRect) const
void CtorInitTextFormatter(SwTextFrame *pFrame, SwTextFormatInfo *pInf)
void SetFollow(SwFlowFrame *const pFollow)
bool IsParagraph(bool bHard=false) const
SwLayoutFrame * GetUpper()
void SetOffset_(TextFrameIndex nNewOfst)
void AddHeight(const tools::Long nAdd)
bool isFramePrintAreaValid() const
bool IsPrepWidows() const
SwTwips GetLeftMargin() const
bool IsUndersized() const
SwNumRule * GetNumRule(bool bInParent=true) const
Returns numbering rule of this text node.
const SwLineLayout * GetPrev()
tools::Long GetPrtTop(const SwFrame &rFrame) const
SwFootnoteBossFrame * FindFootnoteBossFrame(bool bFootnotes=false)
SwTextFrame * GetFormatted(bool bForceQuickFormat=false)
In case the SwLineLayout was cleared out of the s_pTextCache, recreate it.
tools::Long GetTopMargin(const SwFrame &rFrame) const
void AddWidth(const tools::Long nAdd)
TextFrameIndex GetIdx() const
bool IsLineBreak(bool bHard=false) const
css::uno::Sequence< css::style::TabStop > GetTabStopInfo(SwTwips CurrentPos) override
void TruncLines(bool bNoteFollow=false)
tools::Long YDiff(tools::Long n1, tools::Long n2) const
void SSize(const Size &rNew)
const sal_uInt8 & CntMidHyph() const
bool isFrameAreaSizeValid() const
TextFrameIndex GetLen() const
void CalcHeightOfLastLine(const bool _bUseFont=false)
method to determine height of last line, needed for proportional line spacing
A page of the document layout.
SwTwips GetRightOfst() const
const OUString & GetText() const
virtual void Format(vcl::RenderContext *pRenderContext, const SwBorderAttrs *pAttrs=nullptr) override
SwTwips Shrink(SwTwips, bool bTst=false, bool bInfo=false)
SwSectionFrame * FindSctFrame()
void SetUnclipped(bool bNew)
void SwitchLTRtoRTL(SwRect &rRect) const
Calculates the coordinates of a rectangle when switching from LTR to RTL layout.
Base class for anything that can be part of a line in the Writer layout.
const SwLineLayout * Prev()
bool IsPrepMustFit() const
void Bottom(const tools::Long nBottom)
SwTextNode is a paragraph in the document model.
bool OverStep(const SwRect &rRect, tools::Long nPos) const
void FormatAdjust(SwTextFormatter &rLine, WidowsAndOrphans &rFrameBreak, TextFrameIndex nStrLen, const bool bDummy)
bool IsBreakNow(SwTextMargin &rLine)
void SetYMargins(SwFrame &rFrame, tools::Long nTop, tools::Long nBottom) const
TextFrameIndex FormatLine(TextFrameIndex nStart)
SwTwips CalcBottomLine() const
sal_uInt16 GetDropLeft() const
void CalcDropHeight(const sal_uInt16 nLines)
void SetOffset(TextFrameIndex nNewOfst)
TextFrameIndex GetLength() const
#define SAL_WARN_IF(condition, area, stream)
SwTextFrame * FindMaster() const
void SetFootnote(const bool bNew)
Will be moved soon.
SwLinePortion * GetRest()
void ForbidFollowFormat()
TextFrameIndex MapModelToView(SwTextNode const *pNode, sal_Int32 nIndex) const
void SetFieldFollow(const bool bNew)
#define SAL_INFO(area, stream)
void SetOnceMore(bool bNew)
void AdjustFrame(const SwTwips nChgHeight, bool bHasToFit=false)
void SetHeight(SwRect &rRect, tools::Long nNew) const
void SwapWidthAndHeight()
Swaps width and height of the text frame.
void SetRightOfst(const SwTwips nNew)
SvxAdjust GetAdjust() const
bool CalcPrepFootnoteAdjust()
const SwPosition * End() const
const sal_uInt8 & CntEndHyph() const
virtual void MakePos() override
bool IsRightToLeft() const
void SetKeep(const bool bNew)
void Top(const tools::Long nTop)
RedlineType GetType(sal_uInt16 nPos=0) const
void setFrameAreaSizeValid(bool bNew)
static TextFrameIndex FindBrk(const OUString &rText, TextFrameIndex nStart, TextFrameIndex nEnd)
Returns the first possible break point in the current line.
void SetPaintDrop(const bool bNew)
double getLength(const B2DPolygon &rCandidate)
void FormatOnceMore(SwTextFormatter &rLine, SwTextFormatInfo &rInf)
void SetWidow(const bool bNew)
virtual void Cut() override
tools::Long GetTopMargin() const
const SwAttrSet & GetSwAttrSet() const
Does node has already its own auto-attributes? Access to SwAttrSet.
const SvxTabStop * GetTabStop(const SwTwips nSearchPos, SwTwips &nRight) const
#i24363# tab stops relative to indent
constexpr sal_Int32 COMPLETE_STRING
void SetPrepMustFit(const bool bNew)
const SwLineLayout * GetCurr() const
SwLinePortion * MakeRestPortion(const SwLineLayout *pLine, TextFrameIndex nPos)
tools::Long GetBottom(const SwRect &rRect) const
virtual SwContentFrame * MakeFrame(SwFrame *) override
Virtual methods from ContentNode.
void Insert(SwLineLayout *pLine)
#define SAL_WARN(area, stream)
SwTwips GetOffset() const
tools::Long GetDelta() const
bool IsFlyInCntBase() const
SwTwips GetLineHeight() const
void SetOffset(const SwTwips nNew)
TextFrameIndex GetEnd() const
bool HasVisibleNumberingOrBullet() const
Returns if the paragraph has a visible numbering or bullet.
virtual const SwRedlineTable & GetRedlineTable() const =0
sal_uInt16 GetDropLines() const
friend void ValidateText(SwFrame *pFrame)
bool IsFieldFollow() const
void SetEmpty(const bool bNew)
SwViewShell * GetCurrShell() const
void InvalidateRange_(const SwCharRange &, const tools::Long=0)
void Chg(const Point &rNP, const Size &rNS)
o3tl::strong_int< sal_Int32, struct Tag_TextFrameIndex > TextFrameIndex
Denotes a character index in a text frame at a layout level, after extent mapping from a text node at...
void SetRest(SwLinePortion *pNewRest)
SwNumRule * GetNumRule(SwTextFormatColl &rTextFormatColl)
determines the list style, which directly set at the given paragraph style
void Height(tools::Long nNew)
void RemoveFootnote(TextFrameIndex nStart, TextFrameIndex nLen=TextFrameIndex(COMPLETE_STRING))
Footnote.
SwContentFrame * JoinFrame()
SwRootFrame * getRootFrame()
bool HasUnderscore() const
SwTextNode * GetTextNode()
Inline methods from Node.hxx.
virtual void Paste(SwFrame *pParent, SwFrame *pSibling=nullptr) override
SwTabFrame * FindTabFrame()