// SwRepaint is a document-global SwRect // nOfst states from where in the first line should be painted // nRightOfst gives the right margin class SwRepaint : public SwRect
{
SwTwips m_nOffset;
SwTwips m_nRightOffset; public:
SwRepaint() : SwRect(), m_nOffset( 0 ), m_nRightOffset( 0 ) {}
/// Collection of SwLinePortion instances, representing one line of text. /// Typically owned by an SwParaPortion. class SAL_DLLPUBLIC_RTTI SwLineLayout : public SwTextPortion
{ private:
SwLineLayout *m_pNext; // The next Line
std::unique_ptr<std::vector<tools::Long>> m_pLLSpaceAdd; // Used for justified alignment
std::unique_ptr<std::deque<sal_uInt16>> m_pKanaComp; // Used for Kana compression
std::vector<TextFrameIndex> m_aKashida;
SwTwips m_nRealHeight; // The height resulting from line spacing and register
SwTwips m_nTextHeight; // The max height of all non-FlyCnt portions in this Line
SwTwips m_nExtraAscent = 0;
SwTwips m_nExtraDescent = 0; bool m_bFormatAdj : 1; bool m_bDummy : 1; bool m_bEndHyph : 1; bool m_bMidHyph : 1; bool m_bLastHyph : 1; bool m_bFly : 1; bool m_bRest : 1; bool m_bBlinking : 1; bool m_bClipping : 1; // Clipping needed for exact line height bool m_bContent : 1; // Text for line numbering bool m_bRedline : 1; // The Redlining bool m_bRedlineEnd: 1; // Redlining for paragraph mark: tracked change at the end bool m_bForcedLeftMargin : 1; // Left adjustment moved by the Fly bool m_bHanging : 1; // Contains a hanging portion in the margin
enum RedlineType m_eRedlineEnd; // redline type of pilcrow and line break symbols
OUString m_sRedlineText; // shortened text of (first) tracked deletion shown in margin
SwTwips GetHangingMargin_() const;
void DeleteNext(); public: // From SwPositiveSize using SwPositiveSize::Height; virtualvoid Height(const SwTwips nNew, constbool bText = true) override;
/// Collection of SwLineLayout instances, represents the paragraph text in Writer layout. /// Typically owned by an SwTextFrame. class SwParaPortion : public SwLineLayout
{ // Area that needs repainting
SwRepaint m_aRepaint; // Area that needs reformatting
SwCharRange m_aReformat;
SwScriptInfo m_aScriptInfo;
// Fraction aZoom;
tools::Long m_nDelta;
// If a SwTextFrame is locked, no changes occur to the formatting data (under // pLine) (compare with Orphans) bool m_bFlys : 1; // Overlapping Flys? bool m_bPrep : 1; // PREP_* bool m_bPrepWidows : 1; // PrepareHint::Widows bool m_bPrepAdjust : 1; // PrepareHint::AdjustSizeWithoutFormatting bool m_bPrepMustFit : 1; // PrepareHint::MustFit bool m_bFollowField : 1; // We have a bit of field left for the Follow
bool m_bFixLineHeight : 1; // Fixed line height bool m_bFootnoteNum : 1; // is the frame that may contain a footnotenumberportion bool m_bMargin : 1; // contains a hanging punctuation in the margin
inlinevoid SwParaPortion::FormatReset()
{
m_nDelta = 0;
m_aReformat = SwCharRange(TextFrameIndex(0), TextFrameIndex(COMPLETE_STRING)); // bFlys needs to be retained in SwTextFrame::Format_() so that empty // paragraphs that needed to avoid Frames with no flow, reformat // when the Frame disappears from the Area // bFlys = false;
ResetPreps();
m_bFollowField = m_bFixLineHeight = m_bMargin = false;
}
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.