Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(237)

Unified Diff: ui/gfx/render_text_harfbuzz.h

Issue 2541313002: RenderTextHarfBuzz: Add support for multi line text selection. (Closed)
Patch Set: --- Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..72213433e9b57c02890f827a8e8e4e3861a092ab 100644
--- a/ui/gfx/render_text_harfbuzz.h
+++ b/ui/gfx/render_text_harfbuzz.h
@@ -193,7 +193,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.

Powered by Google App Engine
This is Rietveld 408576698