33 if(
CH_TAB != aChar &&
' ' != aChar )
83 return nWidth <= pLay->
Width();
94 const_cast<SwTextCursor&
>(rLine).GetCharRect( &aRect, nTextStart );
118 if ( aRectFnSet.
IsVert() )
121 nStt = aRectFnSet.
GetLeft(aRect);
127 if ( aRectFnSet.
IsVert() )
130 nNext = aRectFnSet.
GetLeft(aRect);
136AddRange(std::vector<std::pair<TextFrameIndex, TextFrameIndex>> & rRanges,
139 assert(rRanges.empty() || rRanges.back().second <=
nPos);
142 if (!rRanges.empty() &&
nPos == rRanges.back().second)
144 rRanges.back().second += nLen;
148 rRanges.emplace_back(
nPos,
nPos + nLen);
155 std::vector<std::pair<TextFrameIndex, TextFrameIndex>> & rRanges,
156 bool const bWithLineBreak)
const
160 bool bFirstLine =
true;
188 while( aLine.
Next() );
197 aInf.
SetIdx( nTextStart );
198 return aLine.
IsSymbol( nTextStart );
216 while( aLine.
Next() )
221 if( nLeft + TOLERANCE < nCurrLeft ||
222 nLeft - TOLERANCE > nCurrLeft )
228 if( nLeft == nFirst )
264 const Point aPoint( nNextIndent, aLine.
Y() );
270 const OUString& rText = aInf.
GetText();
278 aChar = rText[sal_Int32(rFndPos) - 1];
283 (
' ' != aChar ||
' ' != rText[sal_Int32(rFndPos) - 2]))
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 IsSymbol(TextFrameIndex nPos)
const SwRect & getFrameArea() const
const SwRect & getFramePrintArea() const
Helper class which can be used instead of the macros if a function has too many returns.
Collection of SwLinePortion instances, representing one line of text.
TextFrameIndex GetLen() const
tools::Long GetLeft(const SwRect &rRect) const
Of course Writer needs its own rectangles.
void Left(const tools::Long nLeft)
void Width(tools::Long nNew)
TextFrameIndex GetModelPositionForViewPoint(SwPosition *pPos, const Point &rPoint, bool bChgNode, SwCursorMoveState *=nullptr) const
void GetCharRect(SwRect *, TextFrameIndex, SwCursorMoveState *=nullptr, const tools::Long nMax=0)
bool IsFilled(const sal_uInt8 nPercent) const
const SwTextFrame * m_pFrame
SwTwips GetFirstIndent() const
void GetSpaces(std::vector< std::pair< TextFrameIndex, TextFrameIndex > > &, bool bWithLineBreak) const
SwTwips GetLineStart() const
sal_Int32 GetBigIndent(TextFrameIndex &rFndPos, const SwTextFrame *pNextFrame) const
SwTwips GetCharPos(TextFrameIndex nChar, bool bCenter=true) const
bool IsBullet(TextFrameIndex nTextPos) const
Represents the visualization of a paragraph.
SwTextFrame * GetFollow()
SwParaPortion * GetPara()
void SwitchHorizontalToVertical(SwRect &rRect) const
Calculates the coordinates of a rectangle when switching from horizontal to vertical layout.
TextFrameIndex GetEnd() const
const SwLineLayout * GetNext() const
TextFrameIndex GetStart() const
const SwLineLayout * Next()
const SwLineLayout * GetCurr() const
const SwLineLayout * Prev()
SwTextSizeInfo & GetInfo()
TextFrameIndex GetTextStart() const
TextFrameIndex GetTextEnd() const
SwTwips GetLineStart() const
void SetIdx(const TextFrameIndex nNew)
sal_Unicode GetChar(TextFrameIndex const nPos) const
const OUString & GetText() const
bool HasHint(TextFrameIndex nPos) const
static void AddRange(std::vector< std::pair< TextFrameIndex, TextFrameIndex > > &rRanges, TextFrameIndex const nPos, TextFrameIndex const nLen)
#define CH_TXTATR_BREAKWORD
const sal_Unicode CH_BREAK