114 bool bAlways =
false )
const;
Represents the visualization of a paragraph.
TextFrameIndex FormatQuoVadis(TextFrameIndex nStart)
const SwFormatDrop * m_pDropFormat
void FormatReset(SwTextFormatInfo &rInf)
SwFlyCntPortion * NewFlyCntPortion(SwTextFormatInfo &rInf, SwTextAttr *pHt) const
Sets a new portion for an object anchored as character.
SwExpandPortion * NewFieldPortion(SwTextFormatInfo &rInf, const SwTextAttr *pHt) const
void MakeDummyLine()
This function creates a Line that reaches to the other Page Margin.
SwTextFormatter(SwTextFrame *pTextFrame, SwTextFormatInfo *pTextFormatInf)
const SwFormatDrop * GetDropFormat() const
void InsertPortion(SwTextFormatInfo &rInf, SwLinePortion *pPor)
void GuessDropHeight(const sal_uInt16 nLines)
We assume that the font height doesn't change and that at first there are at least as many lines...
bool ClearIfIsFirstOfBorderMerge(SwLinePortion const *pPortion)
static void MergeCharacterBorder(SwDropPortion const &rPortion)
Merge border of the drop portion with modifying the font of the portions' part.
bool Hyphenate(SwInterHyphInfoTextFrame &rInf)
SwTabPortion * NewTabPortion(SwTextFormatInfo &rInf, bool bAuto) const
void SetFlyInCntBase(bool bNew=true)
SwTextFormatInfo & GetInfo()
void CalcUnclipped(SwTwips &rTop, SwTwips &rBottom)
Text portion for the Format -> Paragraph -> Drop Caps functionality.
SwExpandPortion * TryNewNoLengthPortion(SwTextFormatInfo const &rInfo)
Try to create a new portion with zero length, for an end of a hint (where there is no CH_TXTATR)...
bool BuildMultiPortion(SwTextFormatInfo &rInf, SwMultiPortion &rMulti)
A wrapper around SfxPoolItem to store the start position of (usually) a text portion, with an optional end.
virtual ~SwTextFormatter() override
void CalcRealHeight(bool bNewLine=false)
bool AllowRepaintOpt() const
sal_uInt8 m_nContentEndHyph
void CalcFlyWidth(SwTextFormatInfo &rInf)
Calculation of the emulated right side.
This portion represents an as-character anchored fly (shape, frame, etc.)
void SetTruncLines(bool bNew)
This portion represents a part of the paragraph string.
const SwTextFormatInfo & GetInfo() const
void UpdatePos(SwLineLayout *pCurr, Point aStart, TextFrameIndex nStartIdx, bool bAlways=false) const
The position of the portions changes with the adjustment.
TextFrameIndex m_nRightScanIdx
SwTwips CalcFitToContent_()
SwFootnotePortion * NewFootnotePortion(SwTextFormatInfo &rInf, SwTextAttr *pHt)
The portion for the Footnote Reference in the Text.
SwLinePortion * NewPortion(SwTextFormatInfo &rInf)
Collection of SwLinePortion instances, representing one line of text.
SwMultiPortion * m_pMulti
SwNumberPortion * NewNumberPortion(SwTextFormatInfo &rInf) const
void CtorInitTextFormatter(SwTextFrame *pFrame, SwTextFormatInfo *pInf)
SwLinePortion * NewExtraPortion(SwTextFormatInfo &rInf)
std::unique_ptr< sw::MergedAttrIterByEnd > m_pByEndIter
void BuildPortions(SwTextFormatInfo &rInf)
bool HasTruncLines() const
bool ChkFlyUnderflow(SwTextFormatInfo &rInf) const
This is called after the real height of the line has been calculated Therefore it is possible...
const sal_uInt8 & CntMidHyph() const
SwErgoSumPortion * NewErgoSumPortion(SwTextFormatInfo const &rInf) const
void SetUnclipped(bool bNew)
Base class for anything that can be part of a line in the Writer layout.
void CalcAscent(SwTextFormatInfo &rInf, SwLinePortion *pPor)
TextFrameIndex FormatLine(TextFrameIndex nStart)
SwTwips CalcBottomLine() const
SwTextPortion * WhichTextPor(SwTextFormatInfo &rInf) const
SwMultiPortion * GetMulti() const
Used in footnotes if they break across pages, follow starts with this portion.
void CalcAdjustLine(SwLineLayout *pCurr)
void CalcDropHeight(const sal_uInt16 nLines)
void SetOnceMore(bool bNew)
const sal_uInt8 & CntEndHyph() const
SwLinePortion * Underflow(SwTextFormatInfo &rInf)
sal_uInt8 m_nContentMidHyph
SwNumberPortion * NewFootnoteNumPortion(SwTextFormatInfo const &rInf) const
The portion for the Footnote Numbering in the Footnote Area.
a clone of SwInterHyphInfo, but with TextFrameIndex instead of node index
SwTextPortion * NewTextPortion(SwTextFormatInfo &rInf)
void CntHyphens(sal_uInt8 &nEndCnt, sal_uInt8 &nMidCnt) const
void FeedInf(SwTextFormatInfo &rInf) const
SwLinePortion * MakeRestPortion(const SwLineLayout *pLine, TextFrameIndex nPos)
void AlignFlyInCntBase(tools::Long nBaseLine) const
Set all anchored as character objects to the passed BaseLine (in Y direction).
void Insert(SwLineLayout *pLine)
bool IsFlyInCntBase() const
SwLinePortion * m_pFirstOfBorderMerge
TextFrameIndex m_nLeftScanIdx
sal_uInt16 GetFrameRstHeight() const
SwLinePortion * WhichFirstPortion(SwTextFormatInfo &rInf)
SwDropPortion * NewDropPortion(SwTextFormatInfo &rInf)
bool m_bDetectedRangeSegmentation false