aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Selection.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Selection.h')
-rw-r--r--src/Selection.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/Selection.h b/src/Selection.h
index 6fe828a2c..e98709312 100644
--- a/src/Selection.h
+++ b/src/Selection.h
@@ -116,19 +116,17 @@ struct SelectionRange {
SelectionPosition End() const {
return (anchor < caret) ? caret : anchor;
}
- bool Trim(SelectionPosition startPos, SelectionPosition endPos);
+ bool Trim(SelectionRange range);
// If range is all virtual collapse to start of virtual space
void MinimizeVirtualSpace();
};
class Selection {
- SelectionRange *ranges;
+ std::vector<SelectionRange> ranges;
SelectionRange rangeRectangular;
- size_t allocated;
size_t nRanges;
size_t mainRange;
bool moveExtends;
- void Allocate();
public:
enum selTypes { noSel, selStream, selRectangle, selLines, selThin };
selTypes selType;
@@ -151,7 +149,8 @@ public:
SelectionPosition Last() const;
int Length() const;
void MovePositions(bool insertion, int startChange, int length);
- void TrimSelection(SelectionPosition startPos, SelectionPosition endPos);
+ void TrimSelection(SelectionRange range);
+ void AddSelection(SelectionRange range);
void AddSelection(SelectionPosition spPos);
void AddSelection(SelectionPosition spStartPos, SelectionPosition spEndPos, bool anchorLeft);
int CharacterInSelection(int posCharacter) const;