20#ifndef INCLUDED_SW_SOURCE_CORE_ACCESS_ACCPORTIONS_HXX
21#define INCLUDED_SW_SOURCE_CORE_ACCESS_ACCPORTIONS_HXX
25#include <rtl/ustrbuf.hxx>
33 namespace i18n {
struct Boundary; }
98 virtual void Finish()
override;
114 sal_Int32 nPos )
const;
133 sal_Int32
GetLineNo(
const sal_Int32 nPos )
const;
135 css::i18n::Boundary& rLineBound );
156 sal_Int32 nPos )
const;
collect text portion data from the layout through SwPortionHandler interface
virtual void Text(TextFrameIndex nLength, PortionType nType) override
(empty) destructor
void GetBoundaryOfLine(const sal_Int32 nLineNo, css::i18n::Boundary &rLineBound)
bool FillBoundaryIFDateField(css::i18n::Boundary &rBound, const sal_Int32 nPos)
bool IsIndexInFootnode(sal_Int32 nIndex)
bool IsGrayPortionType(PortionType nType) const
AccessiblePositions m_aAccessiblePositions
position of portion breaks in the core view
sal_Int32 GetFieldIndex(sal_Int32 nPos) const
std::unique_ptr< AccessiblePositions > m_pSentences
additional portion attributes
void GetSentenceBoundary(css::i18n::Boundary &rBound, sal_Int32 nPos)
AccessiblePositions m_aLineBreaks
static void FillBoundary(css::i18n::Boundary &rBound, const AccessiblePositions &rPositions, size_t nPos)
fill the boundary with the values from rPositions[nPos]
void GetAttributeBoundary(css::i18n::Boundary &rBound, sal_Int32 nPos) const
bool IsInGrayPortion(sal_Int32 nPos)
bool GetEditableRange(sal_Int32 nStart, sal_Int32 nEnd, TextFrameIndex &rCoreStart, TextFrameIndex &rCoreEnd) const
Convert start and end positions into core positions.
TextFrameIndex GetCoreViewPosition(sal_Int32 nPos) const
get the position in the core view string for a given (accessibility) position
AccessiblePositions m_aFieldPosition
portion breaks in m_sAccessibleString
void GetLineBoundary(css::i18n::Boundary &rBound, sal_Int32 nPos) const
get the start & end positions of the sentence
bool IsSpecialPortion(size_t nPortionNo) const
std::vector< sal_Int32 > AccessiblePositions
void GetLastLineBoundary(css::i18n::Boundary &rBound) const
const OUString & GetAccessibleString() const
get the text string, as presented by the layout
std::vector< std::pair< sal_Int32, sal_Int32 > > m_vecPairPos
FramePositions m_ViewPositions
position of line breaks
virtual void Finish() override
end of paragraph.
bool IsZeroCorePositionData()
std::vector< sal_uInt8 > m_aPortionAttrs
sal_Int32 GetLineCount() const
virtual void Skip(TextFrameIndex nLength) override
skip characters.
sal_Int32 GetAccessiblePosition(TextFrameIndex nPos) const
get the position in the accessibility string for a given view position
TextFrameIndex m_nViewPosition
TextFrameIndex FillSpecialPos(sal_Int32 nPos, SwSpecialPos &rPos, SwSpecialPos *&rpPos) const
fill a SwSpecialPos structure, suitable for calling SwTextFrame->GetCharRect Returns the core positio...
TextFrameIndex GetLastValidCorePosition() const
virtual void LineBreak() override
line break.
OUString m_sAccessibleString
the accessible string note that the content is different both from the string in the text node(s) as ...
size_t m_nBeforePortions
positions of sentence breaks
const SwViewOption * m_pViewOptions
SwAccessiblePortionData(const SwTextFrame *pTextFrame, const SwViewOption *pViewOpt)
bool IsPortionAttrSet(size_t nPortionNo, sal_uInt8 nAttr) const
Access to portion attributes.
std::vector< TextFrameIndex > FramePositions
bool IsValidCorePosition(TextFrameIndex nPos) const
Determine whether this core position is valid for these portions.
TextFrameIndex GetFirstValidCorePosition() const
sal_Int32 GetLineNo(const sal_Int32 nPos) const
void AdjustAndCheck(sal_Int32 nPos, size_t &nPortionNo, TextFrameIndex &rCorePos, bool &bEdit) const
virtual ~SwAccessiblePortionData() override
SwTextFrame const * m_pTextFrame
virtual void Special(TextFrameIndex nLength, const OUString &rText, PortionType nType) override
special portion.
The SwPortionHandler interface implements a visitor for the layout engine's text portions.
Represents the visualization of a paragraph.