52 #define SLOPPY_TWIPS 5
58 static sal_uInt16 nLevel;
60 FormatLevel() { ++nLevel; }
61 ~FormatLevel() { --nLevel; }
62 static sal_uInt16 GetLevel() {
return nLevel; }
63 static bool LastLevel() {
return 10 < nLevel; }
68 sal_uInt16 FormatLevel::nLevel = 0;
100 pUp->
Calc(pRenderContext);
107 assert(
HasPara() &&
"ResetPreps(), missing ParaPortion, SwCache bug?");
126 pFrame->
Calc(pRenderContext);
129 const bool bOld =
static_cast<SwSectionFrame*
>(pFrame)->IsContentLocked();
131 pFrame->
Calc(pRenderContext);
151 OSL_ENSURE(
HasPara(),
"SwTextFrame::GetDropRect_: try again next year." );
153 SwTextMargin aLine( const_cast<SwTextFrame*>(
this), &aInf );
156 rRect.
Top( aLine.
Y() );
177 OSL_ENSURE(
HasFollow(),
"CalcFollow: missing Follow." );
189 #if OSL_DEBUG_LEVEL > 0
198 bool bOldInvaContent =
true;
235 if( !FormatLevel::LastLevel() )
257 bool bIsFollowInColumn =
false;
259 while ( pFollowUpper )
263 bIsFollowInColumn =
true;
271 pFollowUpper = pFollowUpper->
GetUpper();
273 if ( bIsFollowInColumn )
279 pMyFollow->
Calc(pRenderContext);
281 OSL_ENSURE( !pMyFollow->
GetPrev(),
"SwTextFrame::CalcFollow: cheesy follow" );
285 pMyFollow->
Calc(pRenderContext);
286 OSL_ENSURE( !pMyFollow->
GetPrev(),
"SwTextFrame::CalcFollow: very cheesy follow" );
317 if ( pPage && !bOldInvaContent )
320 #if OSL_DEBUG_LEVEL > 0
321 OSL_ENSURE( pOldUp ==
GetUpper(),
"SwTextFrame::CalcFollow: heavy follow" );
327 nRemaining != ( aRectFnSet.
IsVert() ?
354 && pRedln->
GetType() == RedlineType::Delete
383 if( nChgHght && !bHasToFit )
388 if( nReal < nChgHght )
428 { pPre->
Calc(pRenderContext);
430 }
while ( pPre && pPre !=
this );
449 OSL_ENSURE( !
IsSwapped(),
"Swapped frame while calculating nRstHeight" );
475 OSL_ENSURE( nAdd >= 0,
"Ey" );
486 if( nRstHeight < nFrameHeight )
490 nRstHeight +=
GetUpper()->
Grow( nFrameHeight - nRstHeight );
494 if ( nRstHeight < nFrameHeight )
500 Shrink( std::min( ( nFrameHeight - nRstHeight), nPrtHeight ) );
506 else if( nChgHeight )
508 if( nRstHeight - nFrameHeight < nChgHeight )
509 nChgHeight = nRstHeight - nFrameHeight;
520 css::uno::Sequence< css::style::TabStop > tabs(1);
521 css::style::TabStop ts;
529 CurrentPos -= aCharPos.X();
536 return css::uno::Sequence< css::style::TabStop >();
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;
571 if(
HasFollow() && !(nMode & 1) && nOffset == nEnd )
577 OSL_FAIL(
"+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." );
671 if ( pViewShell && pViewShell->GetLayout() &&
672 pViewShell->GetLayout()->IsAnyShellAccessible() )
675 dynamic_cast<SwTextFrame*>(pFoll->
FindNextCnt(
true )),
705 if ( pViewShell && pViewShell->GetLayout() &&
706 pViewShell->GetLayout()->IsAnyShellAccessible() )
709 dynamic_cast<SwTextFrame*>(pNew->
FindNextCnt(
true )),
727 if (pHt->GetFootnote().IsEndNote())
748 OSL_ENSURE( !
HasFootnote(),
"Missing FootnoteFlag." );
778 OSL_ENSURE( !
IsVertical() || !
IsSwapped(),
"SwTextFrame::CalcPreps with swapped frame" );
784 const bool bPrep = pPara->
IsPrep();
799 OSL_ENSURE(
GetFollow(),
"+SwTextFrame::CalcPreps: no credits" );
817 else if ( aRectFnSet.
IsVert() )
860 "+SwTextFrame::CalcPrep: want to shrink" );
869 if ( aRectFnSet.
IsVert() )
878 if( 0 >= rRepaint.
Width() )
883 else if ( bPrepAdjust )
917 while( !bBreak && aLine.
Next() )
959 if( aRectFnSet.
IsVert() && nIs < nMust )
971 else if ( ! aRectFnSet.
IsVert() && nIs > nMust )
1026 bool bOnlyContainsAsCharAnchoredObj =
1029 (*
GetDrawObjs())[0]->GetFrameFormat().GetAnchor().GetAnchorId() == RndStdIds::FLY_AS_CHAR;
1033 bOnlyContainsAsCharAnchoredObj =
false;
1035 if ( nNew && bOnlyContainsAsCharAnchoredObj )
1054 bool bDelta = pPara->
GetDelta() != 0;
1064 if( !rFrameBreak.
FindBreak(
this, rLine, bHasToFit ) )
1073 if( nNew && nOld < nEnd )
1119 if ( !bOnlyContainsAsCharAnchoredObj &&
1130 if( bDummy && pBodyFrame &&
1145 if ( nChg < 0 && !bDelta && bOnlyContainsAsCharAnchoredObj )
1159 rRepaint.
Left( rRepaint.
Left() - nChg );
1176 "SwTextFrame::FormatLine( rLine, bPrev) with unswapped frame" );
1180 const sal_uInt16 nOldAscent = pOldCur->
GetAscent();
1181 const sal_uInt16 nOldHeight = pOldCur->
Height();
1183 const bool bOldHyph = pOldCur->
IsEndHyph();
1192 "SwTextFrame::FormatLine: frame leaves orbit." );
1194 "SwTextFrame::FormatLine: line height is zero" );
1199 bool bUnChg = nOldLen == pNew->GetLen() &&
1200 bOldHyph == pNew->IsEndHyph();
1201 if ( bUnChg && !bPrev )
1203 const tools::Long nWidthDiff = nOldWidth > pNew->Width()
1204 ? nOldWidth - pNew->Width()
1205 : pNew->Width() - nOldWidth;
1209 bUnChg = nOldHeight == pNew->Height() &&
1210 nOldAscent == pNew->GetAscent() &&
1218 if( bUnChg && rRepaint.
Top() == rLine.
Y()
1222 rRepaint.
Top( nBottom );
1229 if( nOldTop < rRepaint.
Top() )
1230 rRepaint.
Top( nOldTop );
1233 rRepaint.
Bottom( nOldBottom - 1 );
1241 if( nTmpTop < rRepaint.
Top() )
1242 rRepaint.
Top( nTmpTop );
1245 rRepaint.
Bottom( nTmpBottom - 1 );
1253 rRepaint.
Bottom( nBottom - 1 );
1257 SwTwips nRght = std::max( nOldWidth, pNew->Width() +
1258 pNew->GetHangingMargin() );
1260 const SwViewOption *pOpt = pSh ? pSh->GetViewOptions() :
nullptr;
1262 nRght += ( std::max( nOldAscent, pNew->GetAscent() ) );
1264 nRght += ( std::max( nOldAscent, pNew->GetAscent() ) / 4);
1271 const bool bHasUnderscore =
1280 pPara->
GetDelta() -= sal_Int32(pNew->GetLen()) - sal_Int32(nOldLen);
1301 if( nNewStart <= nEnd )
1308 const bool bAdjust )
1315 const OUString & rString =
GetText();
1320 std::unique_ptr<SwRepaint> pFreeze;
1324 if( rReformat.Len() > nStrLen )
1325 rReformat.Len() = nStrLen;
1327 if( rReformat.Start() + rReformat.Len() > nStrLen )
1328 rReformat.Len() = nStrLen - rReformat.Start();
1334 nOldBottom = rLine.
Y();
1356 bool bPrev = rLine.
GetPrev() &&
1360 >= rReformat.Start() ||
1364 while( rLine.
Prev() )
1375 if (
CH_BREAK == rString[sal_Int32(nNew)])
1382 rReformat.Len() += rReformat.Start() - nNew;
1383 rReformat.Start() = nNew;
1391 rRepaint.
Top( rLine.
Y() );
1392 if( 0 >= rRepaint.
Width() )
1401 bool bFormat =
true;
1412 bool bPrevDone =
nullptr != rLine.
Prev();
1413 while( bPrevDone && aFrameBreak.IsBreakNowWidAndOrp(rLine) )
1414 bPrevDone =
nullptr != rLine.
Prev();
1417 aFrameBreak.SetKeep(
false );
1423 aFrameBreak.IsBreakNowWidAndOrp(rLine);
1440 bool bJumpEndHyph =
false;
1441 bool bWatchEndHyph =
false;
1442 bool bJumpMidHyph =
false;
1443 bool bWatchMidHyph =
false;
1447 bool bMaxHyph = 0 != rInf.
MaxHyph();
1454 OSL_ENSURE( pMaster,
"SwTextFrame::Format: homeless follow" );
1460 SAL_WARN(
"sw",
"SwTextFrame::Format_: master not formatted!");
1467 pLine = aMasterLine.
GetCurr();
1518 if ( !bFormat && bMaxHyph &&
1519 (bWatchEndHyph || bJumpEndHyph || bWatchMidHyph || bJumpMidHyph) )
1523 if ( bWatchEndHyph )
1528 bFormat = bJumpEndHyph;
1529 bWatchEndHyph =
false;
1530 bJumpEndHyph =
false;
1534 if ( bWatchMidHyph && !bFormat )
1539 bFormat |= bJumpMidHyph;
1540 bWatchMidHyph =
false;
1541 bJumpMidHyph =
false;
1555 bWatchEndHyph = !bOldEndHyph;
1556 bJumpEndHyph = bOldEndHyph;
1560 bWatchMidHyph = !bOldMidHyph;
1561 bJumpMidHyph = bOldMidHyph;
1569 bFormat =
nullptr != rInf.
GetRest();
1572 if( !bFormat && ( !bMaxHyph || ( !bWatchEndHyph &&
1573 !bJumpEndHyph && !bWatchMidHyph && !bJumpMidHyph ) ) )
1577 while( rLine.
Next() )
1579 pFreeze.reset(
new SwRepaint( rRepaint ));
1585 bBreak = aFrameBreak.IsBreakNowWidAndOrp(rLine);
1590 rRepaint = *pFreeze;
1623 if( nNewBottom < nOldBottom )
1631 "A frame is not swapped in SwTextFrame::FormatOnceMore" );
1638 sal_uInt16 nOld =
static_cast<const SwTextMargin&
>(rLine).GetDropHeight();
1639 bool bShrink =
false;
1657 const sal_uInt16 nNew =
static_cast<const SwTextMargin&
>(rLine).GetDropHeight();
1667 if( bShrink == bGrow || 5 < nGo )
1692 const bool bIsEmpty =
GetText().isEmpty();
1710 OSL_ENSURE( !
IsSwapped(),
"A frame is swapped before Format_" );
1728 OSL_ENSURE( !
IsSwapped(),
"A frame is swapped after Format_" );
1733 if( SvxAdjust::Left != aLine.
GetAdjust() &&
1771 else if( 240 < nFrameHeight )
1773 Shrink( nFrameHeight - 240 );
1775 else if( 240 > nFrameHeight )
1777 Grow( 240 - nFrameHeight );
1783 if( nTop > nFrameHeight )
1803 if( 12 == FormatLevel::GetLevel() )
1845 SAL_WARN(
"sw",
"SwTextFrame::Format: failed to format master!");
1858 const bool bSetOffset =
1875 else if( bSetOffset &&
IsFollow() )
1878 OSL_ENSURE( pMaster,
"SwTextFrame::Format: homeless follow" );
1885 aRectFnSet.
SetLimit( *
this, nMaxY );
1899 const bool bOrphan =
IsWidow();
1910 if( pFootnoteBoss && nFootnoteHeight )
1916 if( nNewHeight < nFootnoteHeight )
1917 nFootnoteHeight = nNewHeight;
1923 }
while ( pFootnoteBoss );
1958 SAL_INFO(
"sw.core",
"Warn: Cell content has greater size than cell height!");
1981 "SwTextFrame::FormatQuick with swapped frame" );
2015 int nLoopProtection = 0;
2019 if (nNewStart == nStart)
2022 nLoopProtection = 0;
2024 const bool bWillEndlessInsert = nLoopProtection > 250;
2025 SAL_WARN_IF(bWillEndlessInsert,
"sw",
"loop detection triggered");
2026 if ((!bWillEndlessInsert)
2030 }
while( aLine.
Next() );
2038 if( !bForceQuickFormat && nNewHeight != nOldHeight && !
IsUndersized() )
void HideHidden()
Removes Textfrm's attachments, when it's hidden.
bool IsAnLower(const SwFrame *) const
vcl::RenderContext * GetOut() const
sal_uInt16 GetParHeight() const
Returns the sum of line height in pLine.
void CalcAdditionalFirstLineOffset()
Simulate format for a list item paragraph, whose list level attributes are in LABEL_ALIGNMENT mode...
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
sal_uLong GetIndex() const
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
const SwRect & getFrameArea() const
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
sal_Unicode GetChar(TextFrameIndex const nPos) const
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)
constexpr TypedWhichId< SwFormatFootnote > RES_TXTATR_FTN(58)
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
virtual void Height(const sal_uInt16 nNew, const bool bText=true) override
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)
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
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)
sal_uInt16 GetLineHeight() const
TextFrameIndex GetIdx() const
bool IsLineBreak(bool bHard=false) const
css::uno::Sequence< css::style::TabStop > GetTabStopInfo(SwTwips CurrentPos) override
const SvxTabStop * GetTabStop(const SwTwips nSearchPos, const SwTwips nRight) const
#i24363# tab stops relative to indent
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 InvalidateAccessibleParaFlowRelation(const SwTextFrame *_pFromTextFrame, const SwTextFrame *_pToTextFrame)
invalidate CONTENT_FLOWS_FROM/_TO relation for paragraphs
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.
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
bool IsFlyInCntBase() const
void SetOffset(const SwTwips nNew)
TextFrameIndex GetEnd() const
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()
const sal_Int32 COMPLETE_STRING
SwRootFrame * getRootFrame()
bool HasUnderscore() const
SwTextNode * GetTextNode()
Inline methods from Node.hxx.
virtual void Paste(SwFrame *pParent, SwFrame *pSibling=nullptr) override
SwTabFrame * FindTabFrame()