| Index: app/gfx/font.h
|
| diff --git a/app/gfx/font.h b/app/gfx/font.h
|
| index bc8ee92e713d2ea0301cac92695aebf6a8521ffe..4bea19489a5a86105faf8bfc69c0d589f3a3118c 100644
|
| --- a/app/gfx/font.h
|
| +++ b/app/gfx/font.h
|
| @@ -136,6 +136,13 @@ class Font {
|
| // Converts |gfx_font| to a new pango font. Free the returned font with
|
| // pango_font_description_free().
|
| static PangoFontDescription* PangoFontFromGfxFont(const gfx::Font& gfx_font);
|
| +
|
| + // Position as an offset from the height of the drawn text, used to draw
|
| + // an underline. This is a negative number, so the underline would be
|
| + // drawn at y + height + underline_position;
|
| + double underline_position() const;
|
| + // The thickness to draw the underline.
|
| + double underline_thickness() const;
|
| #endif
|
|
|
| private:
|
| @@ -207,7 +214,10 @@ class Font {
|
| static Font* default_font_;
|
|
|
| // The average width of a character, initialized and cached if needed.
|
| - double avg_width();
|
| + double avg_width() const;
|
| +
|
| + // Potentially slow call to get pango metrics (avg width, underline info).
|
| + void InitPangoMetrics();
|
|
|
| // These two both point to the same SkTypeface. We use the SkAutoUnref to
|
| // handle the reference counting, but without @typeface_ we would have to
|
| @@ -224,7 +234,13 @@ class Font {
|
| // Cached metrics, generated at construction
|
| int height_;
|
| int ascent_;
|
| +
|
| + // The pango metrics are much more expensive so we wait until we need them
|
| + // to compute them.
|
| + bool pango_metrics_inited_;
|
| double avg_width_;
|
| + double underline_position_;
|
| + double underline_thickness_;
|
| #elif defined(OS_MACOSX)
|
| explicit Font(const std::wstring& font_name, int font_size, int style);
|
|
|
|
|