Chromium Code Reviews| Index: ui/gfx/render_text.h |
| =================================================================== |
| --- ui/gfx/render_text.h (revision 97029) |
| +++ ui/gfx/render_text.h (working copy) |
| @@ -121,9 +121,12 @@ |
| private: |
| void Init(size_t start, size_t end, size_t pos, CaretPlacement status); |
| - // Logical selection start. If there is non-empty selection, the selection |
| - // always starts visually at the leading edge of the selection_start. So, we |
| - // do not need extra information for visual selection bounding. |
| + // Logical selection start. If there is non-empty selection, if |
| + // selection_start_ is less than selection_end_, the selection starts visually |
| + // at the leading edge of the selection_start_. If selection_start_ is greater |
| + // than selection_end_, the selection starts visually at the trailing edge of |
| + // selection_start_'s previous grapheme. So, we do not need extra information |
|
msw
2011/08/19 23:16:59
Is that true? Isn't it always leading the selectio
xji
2011/08/22 23:57:28
The above example wont show any difference.
But th
msw
2011/08/23 08:01:01
Ok, I think I understand and it seems that you are
|
| + // for visual bounding. |
| size_t selection_start_; |
| // The logical cursor position that next character will be inserted into. |
| @@ -298,6 +301,10 @@ |
| // cursor is within the visible display area. |
| void UpdateCachedBoundsAndOffset(); |
| + // Returns the selection model of selection_start_. |
| + // The returned value represents a cursor/caret position without a selection. |
| + SelectionModel GetSelectionModelForSelectionStart(); |
| + |
| // Logical UTF-16 string data to be drawn. |
| string16 text_; |