44#include <com/sun/star/i18n/ScriptType.hpp>
57 OSL_ENSURE( rCMS.
m_pSpecialPos,
"Information about special pos missing" );
62 sal_Int32 nFieldIdx = 0;
63 sal_Int32 nFieldLen = 0;
66 const OUString* pString =
nullptr;
74 nFieldLen = pString->getLength();
82 if ( ! pPor->
GetNextPortion() || nFieldIdx + nFieldLen > nCharOfst )
85 nFieldIdx = nFieldIdx + nFieldLen;
91 OSL_ENSURE( nCharOfst >= nFieldIdx,
"Request of position inside field failed" );
92 sal_Int32 nLen = nCharOfst - nFieldIdx + 1;
114 rOrig.
Pos().AdjustX(nX1 );
115 rOrig.
Width( ( nX2 > nX1 ) ?
130 bool IsLabelAlignmentActive(
const SwTextNode& rTextNode )
145 rTextNode.
GetNumRule()->
Get( o3tl::narrowing<sal_uInt16>(nListLevel) );
168 const bool bLabelAlignmentActive = IsLabelAlignmentActive( *pTextNode );
170 const bool bListLevelIndentsApplicableAndLabelAlignmentActive = bListLevelIndentsApplicable && bLabelAlignmentActive;
194 ( bListLevelIndentsApplicableAndLabelAlignmentActive
202 if ( bListLevelIndentsApplicableAndLabelAlignmentActive ||
212 ( bListLevelIndentsApplicableAndLabelAlignmentActive
231 ( !nLMWithNum && (!bLabelAlignmentActive || bListLevelIndentsApplicable) ) ) )
262 case SvxLineSpaceRule::Auto:
264 case SvxLineSpaceRule::Min:
270 case SvxLineSpaceRule::Fix:
273 default: OSL_FAIL(
": unknown LineSpaceRule" );
277 case SvxInterLineSpaceRule::Off:
279 case SvxInterLineSpaceRule::Prop:
285 nTmp = nTmp ? 50 : 100;
287 nTmp *= nFirstLineOfs;
291 nFirstLineOfs = nTmp;
294 case SvxInterLineSpaceRule::Fix:
299 default: OSL_FAIL(
": unknown InterLineSpaceRule" );
305 nFirstLineOfs = nFLOfst;
310 bListLevelIndentsApplicableAndLabelAlignmentActive ||
313 if ( nFirstLineOfs < 0 && m_pFrame->IsInTab() &&
316 !bListLevelIndentsApplicableAndLabelAlignmentActive )
328 std::max( rSpace.
GetTextLeft() + nLMWithNum+ nFirstLineOfs,
349 else if ( SvxAdjust::Right ==
mnAdjust )
391 else if(
GetAdjust() == SvxAdjust::Center )
456 SwTwips nTmpHeight, nTmpAscent;
458 sal_uInt16 nPorHeight = nTmpHeight;
459 sal_uInt16 nPorAscent = nTmpAscent;
464 nX = nX + pPor->
Width();
469 nPorHeight = pPor->
Height();
475 const Size aCharSize( 1, nTmpHeight );
477 pOrig->
SSize( aCharSize );
478 pOrig->
Pos().AdjustX(nLast );
480 if( pOrig->
Left() > nTmpRight )
481 pOrig->
Pos().setX( nTmpRight );
485 if ( nTmpAscent > nPorAscent )
489 OSL_ENSURE( nPorHeight,
"GetCharRect: Missing Portion-Height" );
507 SwTwips nTmpAscent, nTmpHeight;
509 const Size aCharSize( 1, nTmpHeight );
510 const Point aCharPos;
511 pOrig->
Pos( aCharPos );
512 pOrig->
SSize( aCharSize );
517 const bool bInsideFirstField = pCMS && pCMS->
m_pSpecialPos &&
533 SwTwips nPorHeight = nTmpHeight;
534 SwTwips nPorAscent = nTmpAscent;
542 sal_uInt16 nSpaceIdx = 0;
553 while( pPor && !pPor->
GetLen() && ! bInsideFirstField )
571 if ( ++nSpaceIdx < m_pCurr->GetLLSpaceAddCount() )
577 if( pKanaComp && ( nKanaIdx + 1 ) < pKanaComp->size() )
589 if ( ++nSpaceIdx < m_pCurr->GetLLSpaceAddCount() )
595 if( pKanaComp && ( nKanaIdx + 1 ) < pKanaComp->size() )
612 nPorHeight = pPor->
Height();
621 nPorHeight = pPor->
Height();
646 if ( ++nSpaceIdx < m_pCurr->GetLLSpaceAddCount() )
653 ( nKanaIdx + 1 ) < pKanaComp->size()
667 if ( ++nSpaceIdx < m_pCurr->GetLLSpaceAddCount() )
673 if( pKanaComp && ( nKanaIdx + 1 ) < pKanaComp->size() )
685 nLastBidiIdx = aInf.
GetIdx();
686 nLastBidiPorWidth = pLastBidiPor->
Width() +
700 pOrig->
Pos().AdjustY(nTmpAscent - nPorAscent );
753 const sal_uInt16 nRubyHeight = bHasGrid ?
766 nOffset = nRubyHeight;
770 pOrig->
Pos().AdjustY(nOffset );
775 ChgSpaceAdd(
m_pCurr, nSpaceAdd );
784 const bool bChgHeight =
797 aLayoutModeModifier.
Modify(
842 nTmp = pOrig->
Left() - aOldPos.X();
850 pOrig->
Pos().setX( nX + aOldPos.X() );
852 pOrig->
Pos().setY( aOldPos.Y() + nTmp );
854 pOrig->
Pos().setY( aOldPos.Y()
881 pOrig->
Pos().AdjustY(aOldPos.Y() );
887 pOrig->
Pos().setX( nX + nPorWidth -
888 nInsideOfst - pOrig->
Width() );
891 pOrig->
Pos().AdjustX(nX );
894 pOrig->
Pos().AdjustX(
928 const bool bOldOnWin = aInf.
OnWin();
951 pOrig->
Width( nTmp - nX );
966 while( pCurrPart && (nSumLength += pCurrPart->
GetLen()) < nOfst - aInf.
GetIdx() )
970 if( pCurrPart && nSumLength != nOfst - aInf.
GetIdx() &&
990 OSL_ENSURE( !pPor->
InNumberGrp() || bInsideFirstField,
"Number surprise" );
991 bool bEmptyField =
false;
997 sal_uInt16 nAddX = pTmp->
Width();
1001 OSL_ENSURE( !pNext->
GetLen(),
"Where's my field follow?" );
1002 nAddX = nAddX + pNext->
Width();
1008 nPorHeight = pTmp->
Height();
1015 while( pPor && !pPor->
GetLen() && ! bInsideFirstField &&
1029 if ( ++nSpaceIdx < m_pCurr->GetLLSpaceAddCount() )
1035 if( pKanaComp && ( nKanaIdx + 1 ) < pKanaComp->size() )
1047 if ( ++nSpaceIdx < m_pCurr->GetLLSpaceAddCount() )
1053 if( pKanaComp && ( nKanaIdx + 1 ) < pKanaComp->size() )
1058 nPorHeight = pPor->
Height();
1071 while( pPor && !pPor->
GetLen() )
1073 nX += pPor->
Width();
1076 nPorHeight = pPor->
Height();
1092 nPorAscent = pPor->
Height();
1093 nPorHeight = nPorAscent;
1094 pOrig->
Height( nPorHeight +
1096 if( nTmpHeight < pOrig->
Height() )
1098 nTmpAscent = nPorAscent;
1099 nTmpHeight = sal_uInt16( pOrig->
Height() );
1108 nPorHeight = pPor->
Height();
1114 nTmp = pPor->
Width();
1120 const bool bOldOnWin = aInf.
OnWin();
1140 pOrig->
Width( nTmp );
1171 pOrig->
Pos().AdjustX( -nLastBidiPorWidth );
1184 "Non-BidiPortion inside BidiPortion" );
1187 aInf.
SetIdx(nLastBidiIdx);
1188 pOrig->
Pos().AdjustX(pLast->
Width() +
1202 pOrig->
Pos().AdjustX(pPor->
Width() +
1208 pOrig->
Pos().AdjustX(nX );
1213 if ( nTmpAscent > nPorAscent )
1217 OSL_ENSURE( nPorHeight,
"GetCharRect: Missing Portion-Height" );
1218 if ( nTmpHeight > nPorHeight )
1241 "LineOffset AND Number Portion?" );
1259 pOrig->
Pos().AdjustX(aCharPos.X() );
1260 pOrig->
Pos().AdjustY(aCharPos.Y() );
1264 pCMS->
m_p2Lines->aLine.Pos().AdjustX(aCharPos.X() );
1265 pCMS->
m_p2Lines->aLine.Pos().AdjustY(aCharPos.Y() );
1266 pCMS->
m_p2Lines->aPortion.Pos().AdjustX(aCharPos.X() );
1267 pCMS->
m_p2Lines->aPortion.Pos().AdjustY(aCharPos.Y() );
1272 if( pOrig->
Top() + pOrig->
Height() > nMax )
1274 if( pOrig->
Top() > nMax )
1356 bool bHolePortion =
false;
1357 bool bLastHyph =
false;
1361 sal_uInt16 nSpaceIdx = 0;
1362 size_t nKanaIdx = 0;
1364 short nKanaComp = pKanaComp ? (*pKanaComp)[0] : 0;
1383 if ( ++nSpaceIdx < m_pCurr->GetLLSpaceAddCount() )
1391 if ( nKanaIdx + 1 < pKanaComp->size() )
1392 nKanaComp = (*pKanaComp)[++nKanaIdx];
1410 nCurrStart = nCurrStart + pPor->
GetLen();
1413 nWidth = pPor->
Width();
1428 if ( ++nSpaceIdx < m_pCurr->GetLLSpaceAddCount() )
1436 if( nKanaIdx + 1 < pKanaComp->size() )
1437 nKanaComp = (*pKanaComp)[++nKanaIdx];
1461 nCurrStart = nCurrStart + pPor->
GetLen();
1475 if( bFieldInfo && ( nWidth30 < nX || bRightOver || bLeftOver ||
1497 if (!bRightOver && nX)
1512 if( bHolePortion || ( !bRightAllowed && bLastHyph ) ||
1525 sal_uInt16 nHeight = pPor->
Height();
1526 if ( !nHeight || nHeight > nWidth )
1528 if( bChgNode && nWidth - nHeight/2 > nX )
1547 sal_uInt16 nHeight = 0;
1550 nHeight = pPor->
Height();
1551 if ( !nHeight || nHeight > nWidth )
1555 if( nWidth - nHeight/2 <= nX &&
1572 && ( nWidth/2 < nX ) &&
1576 && ( bRightAllowed || !bLastHyph ))
1588 if (pPostItsPortion)
1593 nCurrStart += pPor->
GetLen();
1611 && rText[sal_Int32(nCurrStart +
nLength) - 1] ==
' ' )
1638 nTmpY, nX, nCurrStart, nSpaceAdd );
1644 aLayoutModeModifier.
Modify( nBidiLevel % 2 );
1651 nTmpY = pPor->
Height() - nTmpY;
1654 nX = o3tl::narrowing<sal_uInt16>(nTmpY);
1660 if ( nX > nPreWidth )
1661 nX = nX - nPreWidth;
1682 SwTextSlot aDiffText( &aSizeInf, pPor,
false,
false );
1687 OSL_ENSURE( pPara,
"No paragraph!" );
1705 sal_uInt16 nSumWidth = 0;
1706 sal_uInt16 nSumBorderWidth = 0;
1708 while (pCurrPart && nSumWidth <= nX - sal_Int32(nCurrStart))
1710 nSumWidth += pCurrPart->
GetWidth();
1722 nX = std::max(
static_cast<SwTwips>(0), nX - nSumBorderWidth);
1776 const_cast<SwFont*
>(
GetFnt())->SetProportion( nOldProp );
1790 bool bChgNodeInner = pLower
1792 Point aTmpPoint( rPoint );
1818 nOffset = nCurrStart +
nLength;
1856 SwRect aRect( aTmpFrame );
1879 while( nY < nTop && aLine.
Next() )
1884 bool bLastLine =
false;
1885 if( nY < nTop && !aLine.
GetNext() )
1900 if( aRectFnSet.
IsVert() )
1902 aPoint.setX( nLastY );
1903 aPoint.setY( nLeft );
1907 aPoint.setX( nLeft );
1908 aPoint.setY( nLastY );
1915 if( aRectFnSet.
IsVert() )
1917 aPoint.setX( nLastY );
1918 aPoint.setY( nRight );
1922 aPoint.setX( nRight );
1923 aPoint.setY( nLastY );
1943 else if( !bLastLine )
1951 }
while( nLastY < nBottom );
@ IGNORE_FIRST_LINE_INDENT_IN_NUMBERING
@ AUTO_FIRST_LINE_INDENT_DISREGARD_LINE_SPACE
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...
virtual bool get(DocumentSettingId id) const =0
Return the specified document setting.
constexpr tools::Long Height() const
SvxAdjust GetLastBlock() const
SvxAdjust GetAdjust() const
SvxAdjust GetOneWord() const
tools::Long GetTextLeft() const
tools::Long GetLeft() const
sal_uInt16 GetPropLineSpace() const
SvxInterLineSpaceRule GetInterLineSpaceRule() const
SvxLineSpaceRule GetLineSpaceRule() const
sal_uInt16 GetLineHeight() const
short GetInterLineSpace() const
wrapper class for the positioning of Writer fly frames and drawing objects
void SetPropFont(const sal_uInt8 nNew)
sal_uInt8 GetPropFont() const
bool Seek(TextFrameIndex nPos)
Enables the attributes used at char pos nPos in the logical font.
const SvxAdjustItem & GetAdjust(bool=true) const
const SvxLRSpaceItem & GetLRSpace(bool=true) const
virtual tools::Long CalcSpacing(tools::Long nSpaceAdd, const SwTextSizeInfo &rInf) const override
sal_uInt8 GetLevel() const
const SwAttrSet & GetSwAttrSet() const
Does node has already its own auto-attributes? Access to SwAttrSet.
static void ResetSpaceAdd(SwLineLayout *pCurr)
void SetPosMatchesBounds(bool bNew)
void SetNumberOfBlanks(TextFrameIndex const nNew)
void SetSnapToGrid(bool bNew)
void SetOffset(sal_Int32 nNew)
sal_uInt8 GetCursorBidiLevel() const
void SetFont(SwFont *pNew)
void SetKanaComp(short nNew)
void SetLen(TextFrameIndex const nNew)
void SetFrame(const SwTextFrame *pNewFrame)
void SetSpace(tools::Long nNew)
bool GetJoinBorderWithPrev() const
bool GetJoinBorderWithNext() const
TextFrameIndex GetLen() const
SwDropPortionPart * GetFollow() const
sal_uInt16 GetWidth() const
Text portion for the Format -> Paragraph -> Drop Caps functionality.
sal_uInt16 GetDropHeight() const
sal_uInt16 GetDropDescent() const
sal_uInt16 GetLines() const
sal_uInt16 GetDropLeft() const
SwDropPortionPart * GetPart() const
const OUString & GetExp() const
general base class for all free-flowing frames
virtual const SwFlyFrame * DynCastFlyFrame() const override
bool IsFlyInContentFrame() const
const std::optional< editeng::SvxBorderLine > & GetRightBorder() const
const Size & GetSize(SwFontScript nWhich) const
sal_uInt16 GetRightBorderSpace() const
void SetProportion(const sal_uInt8 nNewPropr)
SwFontScript GetActual() const
sal_uInt8 GetPropr() const
TextFrameIndex GetModelPositionForViewPoint_(SwDrawTextInfo &rInf)
const std::optional< editeng::SvxBorderLine > & GetLeftBorder() const
sal_uInt16 GetLeftBorderSpace() const
void SetActual(SwFontScript nNew)
const SwRect & getFrameArea() const
const SwRect & getFramePrintArea() const
Base class of the Writer layout elements.
SwRect GetPaintArea() const
|* The paintarea is the area, in which the content of a frame is allowed |* to be displayed.
const SwSortedObjs * GetDrawObjs() const
bool IsProtected() const
Is the Frame or rather the Section in which it lies protected?
bool IsRightToLeft() const
bool IsNoTextFrame() const
bool IsLayoutFrame() const
virtual bool FillSelection(SwSelectionList &rList, const SwRect &rRect) const override
void Modify(bool bChgToRTL)
const SvxLineSpacingItem * GetLineSpacing() const
Collection of SwLinePortion instances, representing one line of text.
SwLinePortion * GetFirstPortion() const
tools::Long GetLLSpaceAdd(sal_uInt16 nIdx)
virtual void Height(const SwTwips nNew, const bool bText=true) override
SwTwips GetHangingMargin() const
void SetRealHeight(SwTwips nNew)
SwTwips GetRealHeight() const
std::deque< sal_uInt16 > * GetpKanaComp() const
Base class for anything that can be part of a line in the Writer layout.
bool InToxRefOrFieldGrp() const
void PrtWidth(SwTwips nNewWidth)
bool IsBlankPortion() const
bool IsTextPortion() const
bool IsMarginPortion() const
virtual TextFrameIndex GetModelPositionForViewPoint(sal_uInt16 nOfst) const
the parameter is actually SwTwips apparently?
SwLinePortion * GetNextPortion() const
bool GetJoinBorderWithPrev() const
bool IsPostItsPortion() const
TextFrameIndex GetLen() const
SwLinePortion * FindLastPortion()
bool IsKernPortion() const
bool GetJoinBorderWithNext() const
bool IsDropPortion() const
virtual tools::Long CalcSpacing(tools::Long nSpaceAdd, const SwTextSizeInfo &rInf) const
bool IsBreakPortion() const
void SetLen(TextFrameIndex const nLen)
bool IsMultiPortion() const
bool IsHolePortion() const
virtual SwPosSize GetTextSize(const SwTextSizeInfo &rInfo) const
bool IsFlyPortion() const
bool IsFootnoteNumPortion() const
SwTwips ExtraBlankWidth() const
bool IsFlyCntPortion() const
bool InFixMargGrp() const
bool HasTabulator() const
const IDocumentSettingAccess * getIDocumentSettingAccess() const
Provides access to the document setting interface.
SwNode & GetEndOfContent() const
Regular ContentSection (i.e. the BodyText).
const SwNumFormat & Get(sal_uInt16 i) const
PaM is Point and Mark: a selection of the document model.
Collection of SwLineLayout instances, represents the paragraph text in Writer layout.
const SwDropPortion * FindDropPortion() const
SwScriptInfo & GetScriptInfo()
tools::Long GetTop(const SwRect &rRect) const
tools::Long GetLeft(const SwRect &rRect) const
tools::Long GetBottom(const SwRect &rRect) const
tools::Long GetRight(const SwRect &rRect) const
Of course Writer needs its own rectangles.
SwRect & Intersection(const SwRect &rRect)
void Height(tools::Long nNew)
void Top(const tools::Long nTop)
void Pos(const Point &rNew)
void SSize(const Size &rNew)
bool Contains(const Point &rPOINT) const
bool Overlaps(const SwRect &rRect) const
void Left(const tools::Long nLeft)
void Width(tools::Long nNew)
SwFontScript WhichFont(TextFrameIndex nIdx) const
size_t CountCompChg() const
This class is used as parameter for creation of a block cursor selection.
void insertPaM(SwPaM *pPam)
Adds a text portion to the selection list.
bool checkContext(const SwFrame *pCheck)
Checks if the context of the list is equal to the context of the frame.
class for collecting anchored objects
const SwLineLayout * CharCursorToLine(TextFrameIndex const nPos)
TextFrameIndex GetModelPositionForViewPoint(SwPosition *pPos, const Point &rPoint, bool bChgNode, SwCursorMoveState *=nullptr) const
static bool s_bRightMargin
void GetCharRect_(SwRect *, TextFrameIndex, SwCursorMoveState *)
SwTwips AdjustBaseLine(const SwLineLayout &rLine, const SwLinePortion *pPor, SwTwips nPorHeight=0, SwTwips nAscent=0, const bool bAutoToCentered=false) const
void AddExtraBlankWidth()
void GetCharRect(SwRect *, TextFrameIndex, SwCursorMoveState *=nullptr, const tools::Long nMax=0)
void GetEndCharRect(SwRect *, TextFrameIndex, SwCursorMoveState *=nullptr, const tools::Long nMax=0)
void CtorInitTextCursor(SwTextFrame *pFrame, SwTextSizeInfo *pInf)
Represents the visualization of a paragraph.
SwTextFrame * GetFollow()
SwPosition MapViewToModelPos(TextFrameIndex nIndex) const
LanguageType GetLangOfChar(TextFrameIndex nIndex, sal_uInt16 nScript, bool bNoChar=false) const
TextFrameIndex GetOffset() const
void SwitchLTRtoRTL(SwRect &rRect) const
Calculates the coordinates of a rectangle when switching from LTR to RTL layout.
SwTwips GetAdditionalFirstLineOffset() const
void SwitchHorizontalToVertical(SwRect &rRect) const
Calculates the coordinates of a rectangle when switching from horizontal to vertical layout.
virtual bool FillSelection(SwSelectionList &rList, const SwRect &rRect) const override
Looks for text portions which are inside the given rectangle.
SwTextNode const * GetTextNodeForParaProps() const
virtual bool GetModelPositionForViewPoint(SwPosition *, Point &, SwCursorMoveState *=nullptr, bool bTestBackground=false) const override
In nOffset returns the offset of the char within the set text buffer, which is closest to the positio...
sal_uInt16 GetRubyHeight() const
SwParaPortion * GetParaPortion()
TextFrameIndex GetEnd() const
const SwLineLayout * GetNext() const
TextFrameIndex GetStart() const
const SwLineLayout * PrevLine()
SwTwips GetLineHeight() const
const SwLineLayout * Next()
const SwLineLayout * GetCurr() const
SwTextFrame * GetTextFrame()
void CalcAscentAndHeight(SwTwips &rAscent, SwTwips &rHeight) const
const SwLineInfo & GetLineInfo() const
const SwLineLayout * GetPrev()
bool SeekAndChg(SwTextSizeInfo &rInf)
void CtorInitTextIter(SwTextFrame *pFrame, SwTextInfo *pInf)
SwTwips GetLineEnd() const
void CtorInitTextMargin(SwTextFrame *pFrame, SwTextSizeInfo *pInf)
SwTextSizeInfo & GetInfo()
SwTwips GetLeftMargin() const
sal_uInt16 GetDropHeight() const
SwTwips CurrWidth() const
SvxAdjust GetAdjust() const
SwTwips GetLineStart() const
sal_uInt16 GetLineWidth() const
SwTextNode is a paragraph in the document model.
tools::Long GetLeftMarginWithNum(bool bTextLeft=false) const
Returns the additional indents of this text node and its numbering.
SwNumRule * GetNumRule(bool bInParent=true) const
Returns numbering rule of this text node.
int GetActualListLevel(SwListRedlineType eRedline=SwListRedlineType::SHOW) const
Returns the actual list level of this text node, when it is a list item.
bool GetFirstLineOfsWithNum(short &rFirstOffset) const
Returns the combined first line indent of this text node and its numbering.
tools::Long GetLeftMarginForTabCalculation() const
return left margin for tab stop position calculation
bool AreListLevelIndentsApplicable() const
Determines, if the list level indent attributes can be applied to the paragraph.
This portion represents a part of the paragraph string.
TextFrameIndex GetSpaceCnt(const SwTextSizeInfo &rInf, TextFrameIndex &rCnt) const
vcl::RenderContext * GetOut()
void SetMulti(const bool bNew)
void SetLen(const TextFrameIndex nNew)
TextFrameIndex GetMeasureLen() const
void SetMeasureLen(const TextFrameIndex nNew)
void SetIdx(const TextFrameIndex nNew)
void SetFont(SwFont *pNew)
void SetKanaIdx(sal_uInt16 nNew)
void SetFirstMulti(const bool bNew)
void SetKanaComp(std::deque< sal_uInt16 > *pNew)
TextFrameIndex GetLen() const
void SetOnWin(const bool bNew)
const OUString & GetText() const
TextFrameIndex GetIdx() const
For the text replacement and restoration of SwTextSizeInfo.
void GetFlyCursorOfst(Point &rPoint, SwPosition &rPos, SwCursorMoveState *pCMS) const
SwFlyInContentFrame * GetFlyFrame()
SwSPExtendRange
SwSpecialPos.
static bool ConsiderNextPortionForCursorOffset(const SwLinePortion *pPor, SwTwips nWidth30, sal_uInt16 nX)
Determines if SwTextCursor::GetModelPositionForViewPoint() should consider the next portion when calc...
static void lcl_GetCharRectInsideField(SwTextSizeInfo &rInf, SwRect &rOrig, const SwCursorMoveState &rCMS, const SwLinePortion &rPor)
#define LANGUAGE_JAPANESE
#define SAL_WARN_IF(condition, area, stream)
if(aStr !=aBuf) UpdateName_Impl(m_xFollowLb.get()
tools::Long const nRightMargin
tools::Long const nLeftMargin
double getLength(const B2DPolygon &rCandidate)
vcl::Font GetFont(vcl::Font const &rFont, DrawModeFlags nDrawMode, StyleSettings const &rStyleSettings)
SwNodeOffset min(const SwNodeOffset &a, const SwNodeOffset &b)
SwTextGridItem const * GetGridItem(SwPageFrame const *const)
bool m_bPosCorr
Point had to be corrected.
bool m_bInNumPortion
point is in number portion #i23726#
bool m_bFootnoteNoInfo
recognized footnote numbering
int m_nInNumPortionOffset
distance from number portion's start
bool m_b2Lines
Check 2line portions and fill p2Lines.
sal_uInt8 m_nCursorBidiLevel
bool m_bRealHeight
should the real height be calculated?
std::unique_ptr< Sw2LinesPos > m_p2Lines
for selections inside/around 2line portions
SwSpecialPos * m_pSpecialPos
for positions inside fields
bool m_bRealWidth
Calculation of the width required.
bool m_bFieldInfo
should be fields recognized?
bool m_bInFrontOfLabel
cursor in front of label
Point m_aRealHeight
contains then the position/height of the cursor
bool m_bPosMatchesBounds
GetModelPositionForViewPoint should not return the next position if screen position is inside second ...
Marks a position in the document model.
const SwNodes & GetNodes() const
SwSPExtendRange nExtendRange
UNDERLYING_TYPE get() const
tools::Long GetLen(const Point &rPnt)
constexpr sal_Int32 COMPLETE_STRING
constexpr sal_uInt8 MAXLEVEL
HFONT SelectFont(HDC hDC, HFONT hFont)