143 std::vector<std::unique_ptr<SmCaretPosGraphEntry>>::iterator
begin()
148 std::vector<std::unique_ptr<SmCaretPosGraphEntry>>::iterator
end() {
return mvEntries.end(); }
151 std::vector<std::unique_ptr<SmCaretPosGraphEntry>>
mvEntries;
A line that represents a caret.
tools::Long SquaredDistanceY(const SmCaretLine &line) const
tools::Long GetHeight() const
SmCaretLine(tools::Long left=0, tools::Long top=0, tools::Long height=0)
tools::Long SquaredDistanceY(const Point &pos) const
tools::Long SquaredDistanceX(const SmCaretLine &line) const
tools::Long SquaredDistanceX(const Point &pos) const
tools::Long GetLeft() const
tools::Long GetTop() const
A graph over all caret positions.
std::vector< std::unique_ptr< SmCaretPosGraphEntry > >::iterator begin()
std::vector< std::unique_ptr< SmCaretPosGraphEntry > >::iterator end()
std::vector< std::unique_ptr< SmCaretPosGraphEntry > > mvEntries
SmCaretPosGraphEntry * Add(SmCaretPos pos, SmCaretPosGraphEntry *left=nullptr)
Add a caret position.
SmNodeType GetType() const
Gets the node type.
double getLength(const B2DPolygon &rCandidate)
An entry in SmCaretPosGraph.
SmCaretPosGraphEntry(SmCaretPos pos, SmCaretPosGraphEntry *left, SmCaretPosGraphEntry *right)
SmCaretPosGraphEntry * Left
Entry to the left visually.
SmCaretPosGraphEntry * Right
Entry to the right visually.
void SetLeft(SmCaretPosGraphEntry *left)
void SetRight(SmCaretPosGraphEntry *right)
const SmCaretPos CaretPos
Caret position.
Representation of caret position with an equation.
bool operator==(const SmCaretPos &pos) const
bool IsValid() const
True, if this is a valid caret position.
int nIndex
Index (invariant: non-negative) within the selected node.
SmNode * pSelectedNode
Selected node.
static SmCaretPos GetPosAfter(SmNode *pNode)
Get the caret position after pNode, regardless of pNode.
SmCaretPos(SmNode *selectedNode=nullptr, int iIndex=0)