Index: ui/gfx/render_text_linux.h |
=================================================================== |
--- ui/gfx/render_text_linux.h (revision 109708) |
+++ ui/gfx/render_text_linux.h (working copy) |
@@ -7,6 +7,7 @@ |
#pragma once |
#include <pango/pango.h> |
+#include <vector> |
#include "ui/gfx/render_text.h" |
@@ -34,8 +35,14 @@ |
BreakType break_type) OVERRIDE; |
virtual SelectionModel LeftEndSelectionModel() OVERRIDE; |
virtual SelectionModel RightEndSelectionModel() OVERRIDE; |
+ virtual void GetSubstringBounds(size_t from, |
+ size_t to, |
+ std::vector<Rect>* bounds) OVERRIDE; |
+ virtual void SetSelectionModel( |
+ const SelectionModel& selection_model) OVERRIDE; |
Alexei Svitkine (slow)
2011/11/29 15:41:37
Nit: If you name the parameter |model|, you can ke
xji
2011/11/29 23:07:15
Done.
|
virtual bool IsCursorablePosition(size_t position) OVERRIDE; |
virtual void UpdateLayout() OVERRIDE; |
+ virtual void DrawVisualText(Canvas* canvas) OVERRIDE; |
private: |
virtual size_t IndexOfAdjacentGrapheme(size_t index, bool next) OVERRIDE; |
@@ -96,6 +103,15 @@ |
size_t Utf16IndexToUtf8Index(size_t index) const; |
size_t Utf8IndexToUtf16Index(size_t index) const; |
+ // Calculate the visual bounds containing the logical substring within |from| |
+ // to |to| into |bounds|. |
+ void CalculateSubstringBounds(size_t from, |
+ size_t to, |
+ std::vector<Rect>* bounds); |
+ |
+ // Save the visual bounds of logical selection into |bounds|. |
+ void GetSelectionBounds(std::vector<Rect>* bounds); |
+ |
// Pango Layout. |
PangoLayout* layout_; |
// A single line layout resulting from laying out via |layout_|. |
@@ -106,6 +122,9 @@ |
// Number of attributes in |log_attrs_|. |
int num_log_attrs_; |
+ // Vector of the visual bounds containing the logical substring of selection. |
+ std::vector<Rect> selection_visual_bounds_; |
+ |
// The text in the |layout_|. |
const char* layout_text_; |
// The text length. |