158 pLay = pRoot->
IsDummy() ? nullptr : pRoot;
178 while( pMyPrev && pMyPrev->
IsDummy() )
183 return pMyPrev ? pMyPrev : pLast;
218 const bool bAutoToCentered )
const
222 nPorHeight = pPor->
Height();
243 nOfst = nOfst + nPorAscent;
252 const sal_uInt16 nLineNet = rLine.
Height() - nRubyHeight;
256 nOfst += ( nLineNet - nPorHeight ) / 2;
258 nOfst += nRubyHeight;
266 nOfst = nOfst + nPorAscent;
269 OSL_ENSURE( rLine.
Height() >= nPorHeight,
"Portion height > Line height");
270 nOfst += ( rLine.
Height() - nPorHeight ) / 2 + nPorAscent;
273 nOfst += rLine.
Height() - nPorHeight + nPorAscent;
285 nOfst += rLine.
Height() - ( rLine.
Height() - nPorHeight ) / 2 - nPorAscent;
289 bool bHadClearingBreak =
false;
297 bool bClearingBreak =
false;
300 auto pBreakPortion =
static_cast<const SwBreakPortion*
>(pLinePor);
304 bHadClearingBreak =
true;
307 if (!bClearingBreak && pLinePor->
Height() > nLineHeight)
309 nLineHeight = pLinePor->
Height();
315 if (!bHadClearingBreak)
317 nLineHeight = rLine.
Height();
320 nOfst += ( nLineHeight - nPorHeight ) / 2 + nPorAscent;
355 while( pPor && !bRet )
380 if ( pFollow && ! pFollow->
IsLocked() &&
389 nRangeEnd = nRangeEnd + pLine->
GetLen();
403 if ( nEnd <= nTmpPos && nTmpPos < nRangeEnd )
449 pOut( rInfo.GetOut() ),
450 bOnWin( rInfo.OnWin() )
452 OSL_ENSURE( rInfo.
GetRefDev(),
"No reference device for text formatting" );
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...
bool MaybeHasHints() const
void CtorInitAttrIter(SwTextNode &rTextNode, SwScriptInfo &rScrInf, SwTextFrame const *pFrame=nullptr)
const SwRegisterItem & GetRegister(bool=true) const
SwLineBreakClear GetClear() const
const SwAttrSet & GetSwAttrSet() const
Does node has already its own auto-attributes? Access to SwAttrSet.
const SwRect & getFrameArea() const
const SwRect & getFramePrintArea() const
SwPageFrame * FindPageFrame()
VclPtr< OutputDevice > pOut
SwHookOut(SwTextSizeInfo &rInfo)
void CtorInitLineInfo(const SwAttrSet &rAttrSet, const SwTextNode &rTextNode)
SvxParaVertAlignItem::Align GetVertAlign() const
Collection of SwLinePortion instances, representing one line of text.
SwLinePortion * GetFirstPortion() const
virtual void Height(const SwTwips nNew, const bool bText=true) override
void SetRealHeight(SwTwips nNew)
SwTwips GetRealHeight() const
void SetNext(SwLineLayout *pNew)
Base class for anything that can be part of a line in the Writer layout.
SwLinePortion * GetNextPortion() const
TextFrameIndex GetLen() const
SwTwips GetHangingBaseline() const
bool IsBreakPortion() const
bool IsMultiPortion() const
void SetFollowField(const bool bNew)
SwScriptInfo & GetScriptInfo()
void Pos(const Point &rNew)
A wrapper around SfxPoolItem to store the start position of (usually) a text portion,...
const SwLineLayout * CharCursorToLine(TextFrameIndex const nPos)
static bool s_bRightMargin
SwTwips AdjustBaseLine(const SwLineLayout &rLine, const SwLinePortion *pPor, SwTwips nPorHeight=0, SwTwips nAscent=0, const bool bAutoToCentered=false) const
Represents the visualization of a paragraph.
SwTextFrame * GetFollow()
TextFrameIndex GetOffset() const
bool FillRegister(SwTwips &rRegStart, sal_uInt16 &rRegDiff)
Determines the start position and step size of the register.
void RemoveFootnote(TextFrameIndex nStart, TextFrameIndex nLen=TextFrameIndex(COMPLETE_STRING))
Footnote.
SwParaPortion * GetPara()
void InvalidateRange_(const SwCharRange &, const tools::Long=0)
SwTextNode * GetTextNodeFirst()
SwTextNode const * GetTextNodeForParaProps() const
bool GetRubyTextBelow() const
bool IsSquaredMode() const
sal_uInt16 GetRubyHeight() const
SwParaPortion * GetParaPortion()
TextFrameIndex GetTextStart() const
const SwLineLayout * NextLine()
void TruncLines(bool bNoteFollow=false)
const SwLineLayout * PrevLine()
void TwipsToLine(const SwTwips)
const SwLineLayout * GetPrevLine()
SwTwips GetLineHeight() const
const SwLineLayout * Next()
void CharToLine(TextFrameIndex)
const SwLineLayout * Prev()
SwTextFrame * GetTextFrame()
void CalcAscentAndHeight(SwTwips &rAscent, SwTwips &rHeight) const
const SwLineInfo & GetLineInfo() const
const SwLineLayout * GetNextLine() const
void CntHyphens(sal_uInt8 &nEndCnt, sal_uInt8 &nMidCnt) const
const SwLineLayout * GetPrev()
SwLineLayout * GetPrev_()
void CtorInitTextIter(SwTextFrame *pFrame, SwTextInfo *pInf)
SwTextSizeInfo & GetInfo()
SwTextNode is a paragraph in the document model.
SwTextFrame * GetTextFrame()
vcl::RenderContext * GetRefDev()
void SetOnWin(const bool bNew)
void SetOut(OutputDevice *pNewOut)
SwTextAttr const * NextAttr(SwTextNode const **ppNode=nullptr)
constexpr TypedWhichId< SwFormatFlyCnt > RES_TXTATR_FLYCNT(58)
static bool lcl_NeedsFieldRest(const SwLineLayout *pCurr)
double getLength(const B2DPolygon &rCandidate)
tools::Long SnapToGrid(KernArray &rKernArray, std::u16string_view aText, sal_Int32 nStt, sal_Int32 nLen, tools::Long nGridWidth, bool bForceLeft)
Snap ideographs to text grids: a) Ideographic open brackets are aligned to the rightmost edge of span...
TextFrameIndex MapModelToView(MergedPara const &, SwTextNode const *pNode, sal_Int32 nIndex)
SwTextGridItem const * GetGridItem(SwPageFrame const *const)
const sal_Unicode CH_BREAK