| Index: ui/gfx/render_text_harfbuzz.h
|
| diff --git a/ui/gfx/render_text_harfbuzz.h b/ui/gfx/render_text_harfbuzz.h
|
| index d3495255547ec684033a34122ad4be3b34259f86..fd345d29217332148f6511e973637c33c8b8d9a1 100644
|
| --- a/ui/gfx/render_text_harfbuzz.h
|
| +++ b/ui/gfx/render_text_harfbuzz.h
|
| @@ -53,10 +53,13 @@ struct GFX_EXPORT TextRunHarfBuzz {
|
| void GetClusterAt(size_t pos, Range* chars, Range* glyphs) const;
|
|
|
| // Returns the grapheme bounds at |text_index|. Handles multi-grapheme glyphs.
|
| - RangeF GetGraphemeBounds(RenderTextHarfBuzz* render_text, size_t text_index);
|
| + RangeF GetGraphemeBounds(RenderTextHarfBuzz* render_text,
|
| + size_t text_index) const;
|
|
|
| - // Returns whether the given shaped run contains any missing glyphs.
|
| - bool HasMissingGlyphs() const;
|
| + // Returns the width of the given |char_range| handling grapheme boundaries
|
| + // within glyphs.
|
| + float GetGraphemeWidthForCharRange(RenderTextHarfBuzz* render_text,
|
| + const Range& char_range) const;
|
|
|
| // Returns the glyph width for the given character range. |char_range| is in
|
| // text-space (0 corresponds to |GetDisplayText()[0]|).
|
| @@ -193,7 +196,20 @@ class GFX_EXPORT RenderTextHarfBuzz : public RenderText {
|
| // Return the run index that contains the argument; or the length of the
|
| // |runs_| vector if argument exceeds the text length or width.
|
| size_t GetRunContainingCaret(const SelectionModel& caret);
|
| - size_t GetRunContainingXCoord(float x, float* offset) const;
|
| +
|
| + // Returns the line index for the given argument. |text_y| is relative to
|
| + // the text bounds. Returns -1 if |text_y| is above the text and
|
| + // lines().size() if |text_y| is below it.
|
| + int GetLineContainingYCoord(float text_y);
|
| +
|
| + // Returns the line segment index for the |line|, |text_x| pair. |text_x| is
|
| + // relative to text in the given line. Returns -1 if |text_x| is to the left
|
| + // of text in the line and |line|.segments.size() if it's to the right.
|
| + // |offset_relative_segment| will contain the offset of |text_x| relative to
|
| + // the start of the segment it is contained in.
|
| + int GetLineSegmentContainingXCoord(const internal::Line& line,
|
| + float text_x,
|
| + float* offset_relative_segment);
|
|
|
| // Given a |run|, returns the SelectionModel that contains the logical first
|
| // or last caret position inside (not at a boundary of) the run.
|
|
|