diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-09-19 10:07:20 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-09-19 14:16:31 +0000 |
commit | 0264e97bceaca69d0b0232ac680bd7b26e2db66a (patch) | |
tree | 85ea26e8a518469b74c3db58d5a814c102a3622c /xfa/fde/cfde_texteditengine.h | |
parent | b02aa61946a62639dd9d39bc00eff6f829b1e414 (diff) | |
download | pdfium-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.h | 10 |
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_; |