21#include <libxml/xmlwriter.h>
26#include <rtl/ustring.hxx>
35#define PORGRP_TXT 0x8000
36#define PORGRP_EXP 0x4000
37#define PORGRP_FLD 0x2000
38#define PORGRP_HYPH 0x1000
39#define PORGRP_NUMBER 0x0800
40#define PORGRP_GLUE 0x0400
41#define PORGRP_FIX 0x0200
42#define PORGRP_TAB 0x0100
44#define PORGRP_FIXMARG 0x0040
46#define PORGRP_TABNOTLFT 0x0010
47#define PORGRP_TOXREF 0x0008
96 inline void Truncate();
116 bool InSpaceGrp()
const {
return InTextGrp() || IsMultiPortion(); }
152 virtual TextFrameIndex GetModelPositionForViewPoint(sal_uInt16 nOfst)
const;
166 virtual bool GetExpText(
const SwTextSizeInfo &rInf, OUString &rText )
const;
169 virtual sal_uInt16 GetViewWidth(
const SwTextSizeInfo &rInf )
const;
184 void dumpAsXmlAttributes(
xmlTextWriterPtr writer, std::u16string_view rText,
190 *
static_cast<SwPosSize*
>(
this) = rPortion;
203 mpNextPortion( nullptr ),
204 mnLineLength( rPortion.mnLineLength ),
205 mnAscent( rPortion.mnAscent ),
206 mnHangingBaseline( rPortion.mnHangingBaseline ),
207 mnWhichPor( rPortion.mnWhichPor ),
208 m_bJoinBorderWithPrev( rPortion.m_bJoinBorderWithPrev ),
209 m_bJoinBorderWithNext( rPortion.m_bJoinBorderWithNext ),
210 m_nExtraBlankWidth(rPortion.m_nExtraBlankWidth)
Base class for anything that can be part of a line in the Writer layout.
bool InToxRefOrFieldGrp() const
TextFrameIndex mnLineLength
void PrtWidth(SwTwips nNewWidth)
bool IsBlankPortion() const
bool IsTextPortion() const
SwLinePortion * mpNextPortion
bool IsHangingPortion() const
bool IsMarginPortion() const
bool IsSoftHyphPortion() const
bool IsArrowPortion() const
void SetJoinBorderWithNext(const bool bJoinNext)
bool m_bJoinBorderWithPrev
SwLinePortion * GetNextPortion() const
void SetAscent(const SwTwips nNewAsc)
bool GetJoinBorderWithPrev() const
void SetHangingBaseline(const SwTwips nNewBaseline)
PortionType GetWhichPor() const
bool IsTabCenterPortion() const
void SetNextPortion(SwLinePortion *pNew)
bool IsPostItsPortion() const
virtual void Paint(const SwTextPaintInfo &rInf) const =0
SwTwips m_nExtraBlankWidth
SwTwips GetAscent() const
TextFrameIndex GetLen() const
bool IsTabRightPortion() const
bool IsParaPortion() const
bool m_bJoinBorderWithNext
bool IsKernPortion() const
bool GetJoinBorderWithNext() const
void SubPrtWidth(const SwTwips nNew)
bool IsLayPortion() const
bool IsControlCharPortion() const
SwTwips GetHangingBaseline() const
void ExtraBlankWidth(const SwTwips nNew)
bool IsFootnotePortion() const
void AddPrtWidth(const SwTwips nNew)
bool IsErgoSumPortion() const
bool IsDropPortion() const
bool IsTabLeftPortion() const
bool IsBreakPortion() const
bool IsQuoVadisPortion() const
void SetLen(TextFrameIndex const nLen)
bool IsGrfNumPortion() const
bool IsTabDecimalPortion() const
bool IsMultiPortion() const
bool IsCombinedPortion() const
SwLinePortion & operator=(const SwLinePortion &rPortion)
bool IsHolePortion() const
void SetJoinBorderWithPrev(const bool bJoinPrev)
bool IsFlyPortion() const
bool IsFootnoteNumPortion() const
SwTwips mnHangingBaseline
SwTwips ExtraBlankWidth() const
void SetWhichPor(const PortionType nNew)
bool IsFlyCntPortion() const
bool IsNumberPortion() const
bool InFixMargGrp() const
The SwPortionHandler interface implements a visitor for the layout engine's text portions.
SwPosSize & operator=(SwPosSize const &)=default
struct _xmlTextWriter * xmlTextWriterPtr
virtual void Insert(SotClipboardFormatId nFormat, const OUString &rFormatName) override
float GetTextSize(std::u16string_view sValue)
#define PORGRP_TXT
Portion groups.