class SwFlyCntPortion; class SwDropPortion; class SwFormatDrop; class SwTextAttr; class SwNumberPortion; class SwErgoSumPortion; class SwExpandPortion; class SwMultiPortion; class SwFootnotePortion;
class SwTextFormatter : public SwTextPainter
{ const SwFormatDrop *m_pDropFormat;
SwMultiPortion* m_pMulti; // during formatting a multi-portion
sal_uInt8 m_nContentEndHyph; // Counts consecutive hyphens at the line end
sal_uInt8 m_nContentMidHyph; // Counts consecutive hyphens before flies
TextFrameIndex m_nLeftScanIdx; // for increasing performance during
TextFrameIndex m_nRightScanIdx; // scanning for portion ends bool m_bOnceMore : 1; // Another round? bool m_bFlyInContentBase : 1; // Base reference that sets a character-bound frame bool m_bTruncLines : 1; // Flag for extending the repaint rect, if needed bool m_bUnclipped : 1; // Flag whether repaint is larger than the fixed line height
std::unique_ptr<sw::MergedAttrIterByEnd> m_pByEndIter; // HACK for TryNewNoLengthPortion
SwLinePortion* m_pFirstOfBorderMerge; // The first text portion of a joined border (during portion building)
// Guess height for the DropPortion void GuessDropHeight( const sal_uInt16 nLines );
public: // Calculate the height for the DropPortion void CalcDropHeight( const sal_uInt16 nLines );
// Calculates the paragraphs bottom, takes anchored objects within it into // account which have a wrap setting of "wrap at 1st paragraph"
SwTwips CalcBottomLine() const;
// Takes character-bound objects into account when calculating the // repaint rect in lines with fixed line height void CalcUnclipped( SwTwips& rTop, SwTwips& rBottom );
// Amongst others for DropCaps bool CalcOnceMore();
// We format a line for interactive hyphenation bool Hyphenate(SwInterHyphInfoTextFrame & rInf);
// A special method for QuoVadis texts: // nErgo is the page number of the ErgoSum Footnote // At 0 it's still unclear
TextFrameIndex FormatQuoVadis(TextFrameIndex nStart);
// The emergency break: Cancel formatting, discard line bool IsStop() const { return GetInfo().IsStop(); }
// The counterpart: Continue formatting at all costs bool IsNewLine() const { return GetInfo().IsNewLine(); }
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.14Bemerkung:
(vorverarbeitet am 2026-09-28)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.