From e232601e029e6222029c8161b2b26687b192839f Mon Sep 17 00:00:00 2001 From: "asvitkine@chromium.org" Date: Tue, 12 Jun 2012 22:59:41 +0000 Subject: Use pango underline metrics in RenderTextLinux. Also, changes type of SkiaTextRenderer::SetTextSize() to SkScalar to match the underlying Skia type, which is needed for future RenderTextMac implementation. BUG=126506, 125664, 105550 TEST=Eyeball underlined text in views_examples' text style example. Review URL: https://chromiumcodereview.appspot.com/10520017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141772 0039d316-1c4b-4281-b951-d872f2087c98 --- ui/gfx/render_text.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'ui/gfx/render_text.h') diff --git a/ui/gfx/render_text.h b/ui/gfx/render_text.h index 0646e7d..fa2e7d0 100644 --- a/ui/gfx/render_text.h +++ b/ui/gfx/render_text.h @@ -48,10 +48,14 @@ class SkiaTextRenderer { void SetDrawLooper(SkDrawLooper* draw_looper); void SetFontSmoothingSettings(bool enable_smoothing, bool enable_lcd_text); void SetTypeface(SkTypeface* typeface); - void SetTextSize(int size); + void SetTextSize(SkScalar size); void SetFontFamilyWithStyle(const std::string& family, int font_style); void SetForegroundColor(SkColor foreground); void SetShader(SkShader* shader, const Rect& bounds); + // Sets underline metrics to use if the text will be drawn with an underline. + // If not set, default values based on the size of the text will be used. The + // two metrics must be set together. + void SetUnderlineMetrics(SkScalar thickness, SkScalar position); void DrawSelection(const std::vector& selection, SkColor color); void DrawPosText(const SkPoint* pos, const uint16* glyphs, @@ -64,6 +68,8 @@ class SkiaTextRenderer { SkPaint paint_; SkRect bounds_; SkRefPtr deferred_fade_shader_; + SkScalar underline_thickness_; + SkScalar underline_position_; DISALLOW_COPY_AND_ASSIGN(SkiaTextRenderer); }; -- cgit v1.1