| Index: ui/gfx/render_text_linux.h
|
| ===================================================================
|
| --- ui/gfx/render_text_linux.h (revision 111848)
|
| +++ 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;
|
| 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.
|
|
|