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

Unified Diff: ui/gfx/render_text.h

Issue 2348143003: MacViews: Implement Force Touch/Mac dictionary lookup for Textfields. (Closed)
Patch Set: Address review. Created 4 years, 3 months 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.h
diff --git a/ui/gfx/render_text.h b/ui/gfx/render_text.h
index 219cab60eea0a847881b99098dc3e4acf360c370..3ef0dcc48a71636cad3b06188913fafd11f72115 100644
--- a/ui/gfx/render_text.h
+++ b/ui/gfx/render_text.h
@@ -23,6 +23,7 @@
#include "third_party/skia/include/core/SkPaint.h"
#include "third_party/skia/include/core/SkRefCnt.h"
#include "ui/gfx/break_list.h"
+#include "ui/gfx/decorated_text.h"
#include "ui/gfx/font_list.h"
#include "ui/gfx/font_render_params.h"
#include "ui/gfx/geometry/point.h"
@@ -497,6 +498,18 @@ class GFX_EXPORT RenderText {
// and the display offset.
Vector2d GetLineOffset(size_t line_number);
+ // Retreives the word displayed at the given |point| along with its styling
+ // information. |point| is in the view's coordinates. If no word is displayed
+ // at the point, returns a nearby word. |baseline_point| should correspond to
+ // the left baseline point of the leftmost glyph of the |word| in the view's
+ // coordinates. Returns false, if no word can be retreived.
+ bool GetDecoratedWordAtPoint(const Point& point,
+ DecoratedText* decorated_word,
+ Point* baseline_point);
+
+ // Retreives the text in the given |range|.
+ base::string16 GetTextFromRange(const Range& range) const;
+
protected:
RenderText();
@@ -713,6 +726,21 @@ class GFX_EXPORT RenderText {
// Draw the selection.
void DrawSelection(Canvas* canvas);
+ // Returns the nearest word start boundary for |index|. First searches in the
+ // CURSOR_BACKWARD direction, then in the CURSOR_FORWARD direction. Returns
+ // the text length if no valid boundary is found.
+ size_t GetNearestWordStartBoundary(size_t index) const;
+
+ // Expands |range| to its nearest word boundaries and returns the resulting
+ // range. Maintains directionality of |range|.
+ Range ExpandRangeToWordBoundary(const Range& range) const;
+
+ // Returns the decorated text corresponding to |range|. Returns false if the
+ // text cannot be retreived, e.g. if the text is obscured.
+ virtual bool GetDecoratedTextForRange(
+ const Range& range,
+ DecoratedText* decorated_text) const = 0;
+
// Logical UTF-16 string data to be drawn.
base::string16 text_;
« no previous file with comments | « ui/gfx/decorated_text.cc ('k') | ui/gfx/render_text.cc » ('j') | ui/gfx/render_text.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698