summaryrefslogtreecommitdiff
path: root/xfa/fde/cfde_texteditengine.h
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-09-19 10:07:20 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-09-19 14:16:31 +0000
commit0264e97bceaca69d0b0232ac680bd7b26e2db66a (patch)
tree85ea26e8a518469b74c3db58d5a814c102a3622c /xfa/fde/cfde_texteditengine.h
parentb02aa61946a62639dd9d39bc00eff6f829b1e414 (diff)
downloadpdfium-0264e97bceaca69d0b0232ac680bd7b26e2db66a.tar.xz
Convert selection to use count instead of end index
This CL changes the Text Edit Engine code to use a count instead of an end index for the selection range. Using count lets us differentiate a selection at the beginning of 1 character and an empty selection. A few new tests were added to test unicode word break behaviour, some are not working yet and are commented out. Change-Id: Icce8f5003102ef0a850151ccdf16d3c2226d94bf Reviewed-on: https://pdfium-review.googlesource.com/13491 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Diffstat (limited to 'xfa/fde/cfde_texteditengine.h')
-rw-r--r--xfa/fde/cfde_texteditengine.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/xfa/fde/cfde_texteditengine.h b/xfa/fde/cfde_texteditengine.h
index 750b62a2e1..40f12e5f76 100644
--- a/xfa/fde/cfde_texteditengine.h
+++ b/xfa/fde/cfde_texteditengine.h
@@ -140,12 +140,12 @@ class CFDE_TextEditEngine {
size_t GetIndexAtEndOfLine(size_t pos) { return 0; }
void SelectAll();
- void SetSelection(size_t start_idx, size_t end_idx);
+ void SetSelection(size_t start_idx, size_t count);
void ClearSelection();
bool HasSelection() const { return has_selection_; }
- // Returns <start, end> indices of the selection.
+ // Returns <start_idx, count> of the selection.
std::pair<size_t, size_t> GetSelection() const {
- return {selection_.start_idx, selection_.end_idx};
+ return {selection_.start_idx, selection_.count};
}
WideString GetSelectedText() const;
WideString DeleteSelectedText(
@@ -159,7 +159,7 @@ class CFDE_TextEditEngine {
size_t GetWidthOfChar(size_t idx);
// Non-const so we can force a Layout() if needed.
size_t GetIndexForPoint(const CFX_PointF& point);
- // <start_idx, end_idx>
+ // <start_idx, count>
std::pair<size_t, size_t> BoundsForWordAt(size_t idx) const;
// Returns <bidi level, character rect>
@@ -197,7 +197,7 @@ class CFDE_TextEditEngine {
struct Selection {
size_t start_idx;
- size_t end_idx;
+ size_t count;
};
CFX_RectF contents_bounding_box_;