46 if (virtualSpace_ >= 0)
106 return caret == other.caret &&
anchor == other.anchor;
109 return caret < other.caret || ((
caret == other.caret) && (
anchor < other.anchor));
130 void Swap() noexcept;
149 bool IsRectangular() const noexcept;
158 size_t Count() const noexcept;
159 size_t Main() const noexcept;
160 void SetMain(
size_t r) noexcept;
166 bool MoveExtends() const noexcept;
167 void SetMoveExtends(
bool moveExtends_) noexcept;
168 bool Empty() const noexcept;
173 void TrimOtherSelections(
size_t r,
SelectionRange range) noexcept;
177 void DropSelection(
size_t r);
178 void DropAdditionalRanges();
180 void CommitTentative() noexcept;
181 int CharacterInSelection(
Sci::
Position posCharacter) const noexcept;
185 void RemoveDuplicates();
186 void RotateMain() noexcept;
187 bool Tentative() const noexcept {
return tentativeMain; }
The range class represents a range of text in a document.
Sci::Position Position() const noexcept
bool IsValid() const noexcept
Sci::Position virtualSpace
Sci::Position VirtualSpace() const noexcept
bool operator>(const SelectionPosition &other) const noexcept
void Add(Sci::Position increment) noexcept
bool operator<=(const SelectionPosition &other) const noexcept
void SetPosition(Sci::Position position_) noexcept
bool operator==(const SelectionPosition &other) const noexcept
void MoveForInsertDelete(bool insertion, Sci::Position startChange, Sci::Position length, bool moveForEqual) noexcept
bool operator<(const SelectionPosition &other) const noexcept
SelectionPosition(Sci::Position position_=INVALID_POSITION, Sci::Position virtualSpace_=0) noexcept
bool operator>=(const SelectionPosition &other) const noexcept
void SetVirtualSpace(Sci::Position virtualSpace_) noexcept
std::vector< SelectionRange > rangesSaved
std::vector< SelectionRange > ranges
SelectionRange rangeRectangular
std::vector< SelectionRange > RangesCopy() const
A Position is a position within a document between two characters or at the beginning or end.
Styling buffer using one element for each run rather than using a filled buffer.
bool operator<(const SelectionRange &other) const noexcept
SelectionRange(Sci::Position single) noexcept
SelectionRange(SelectionPosition caret_, SelectionPosition anchor_) noexcept
void ClearVirtualSpace() noexcept
void MinimizeVirtualSpace() noexcept
bool Empty() const noexcept
bool Contains(Sci::Position pos) const noexcept
SelectionRange() noexcept
SelectionSegment Intersect(SelectionSegment check) const noexcept
SelectionRange(SelectionPosition single) noexcept
SelectionPosition Start() const noexcept
SelectionPosition End() const noexcept
bool ContainsCharacter(Sci::Position posCharacter) const noexcept
SelectionRange(Sci::Position caret_, Sci::Position anchor_) noexcept
void MoveForInsertDelete(bool insertion, Sci::Position startChange, Sci::Position length) noexcept
bool Trim(SelectionRange range) noexcept
Sci::Position Length() const noexcept
Sci::Position Length() const noexcept
SelectionSegment() noexcept
bool Empty() const noexcept
void Extend(SelectionPosition p) noexcept
SelectionSegment(SelectionPosition a, SelectionPosition b) noexcept