diff options
Diffstat (limited to 'app/gfx/chrome_font.h')
-rw-r--r-- | app/gfx/chrome_font.h | 56 |
1 files changed, 29 insertions, 27 deletions
diff --git a/app/gfx/chrome_font.h b/app/gfx/chrome_font.h index e0479f4..a4b14e9 100644 --- a/app/gfx/chrome_font.h +++ b/app/gfx/chrome_font.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef APP_GFX_CHROME_FONT_H_ -#define APP_GFX_CHROME_FONT_H_ +#ifndef APP_GFX_FONT_H_ +#define APP_GFX_FONT_H_ #include "build/build_config.h" @@ -37,9 +37,11 @@ typedef SkTypeface* NativeFont; #include "base/ref_counted.h" #include "base/scoped_ptr.h" -// ChromeFont provides a wrapper around an underlying font. Copy and assignment +namespace gfx { + +// Font provides a wrapper around an underlying font. Copy and assignment // operators are explicitly allowed, and cheap. -class ChromeFont { +class Font { public: // The following constants indicate the font style. enum { @@ -49,16 +51,16 @@ class ChromeFont { UNDERLINED = 4, }; - // Creates a ChromeFont given font name (e.g. arial), font size (e.g. 12). + // Creates a Font given font name (e.g. arial), font size (e.g. 12). // Skia actually expects a family name and not a font name. - static ChromeFont CreateFont(const std::wstring& font_name, int font_size); + static Font CreateFont(const std::wstring& font_name, int font_size); - ~ChromeFont() { } + ~Font() { } // Returns a new Font derived from the existing font. // size_deta is the size to add to the current font. For example, a value // of 5 results in a font 5 units bigger than this font. - ChromeFont DeriveFont(int size_delta) const { + Font DeriveFont(int size_delta) const { return DeriveFont(size_delta, style()); } @@ -67,7 +69,7 @@ class ChromeFont { // argument version of this method for an example. // The style parameter specifies the new style for the font, and is a // bitmask of the values: BOLD, ITALIC and UNDERLINED. - ChromeFont DeriveFont(int size_delta, int style) const; + Font DeriveFont(int size_delta, int style) const; // Returns the number of vertical pixels needed to display characters from // the specified font. @@ -102,12 +104,12 @@ class ChromeFont { NativeFont nativeFont() const; // Creates a font with the default name and style. - ChromeFont(); + Font(); #if defined(OS_WIN) - // Creates a ChromeFont from the specified HFONT. The supplied HFONT is - // effectively copied. - static ChromeFont CreateFont(HFONT hfont); + // Creates a Font from the specified HFONT. The supplied HFONT is effectively + // copied. + static Font CreateFont(HFONT hfont); // Returns the handle to the underlying HFONT. This is used by ChromeCanvas to // draw text. @@ -124,8 +126,8 @@ class ChromeFont { #elif defined(OS_LINUX) // We need a copy constructor and assignment operator to deal with // the Skia reference counting. - ChromeFont(const ChromeFont& other); - ChromeFont& operator=(const ChromeFont& other); + Font(const Font& other); + Font& operator=(const Font& other); // Setup a Skia context to use the current typeface void PaintSetup(SkPaint* paint) const; #endif @@ -135,14 +137,12 @@ class ChromeFont { #if defined(OS_WIN) // Chrome text drawing bottoms out in the Windows GDI functions that take an // HFONT (an opaque handle into Windows). To avoid lots of GDI object - // allocation and destruction, ChromeFont indirectly refers to the HFONT - // by way of an HFontRef. That is, every ChromeFont has an HFontRef, which - // has an HFONT. + // allocation and destruction, Font indirectly refers to the HFONT by way of + // an HFontRef. That is, every Font has an HFontRef, which has an HFONT. // // HFontRef is reference counted. Upon deletion, it deletes the HFONT. // By making HFontRef maintain the reference to the HFONT, multiple - // HFontRefs can share the same HFONT, and ChromeFont can provide value - // semantics. + // HFontRefs can share the same HFONT, and Font can provide value semantics. class HFontRef : public base::RefCounted<HFontRef> { public: // This constructor takes control of the HFONT, and will delete it when @@ -182,7 +182,7 @@ class ChromeFont { // Creates and returns a new HFONTRef from the specified HFONT. static HFontRef* CreateHFontRef(HFONT font); - explicit ChromeFont(HFontRef* font_ref) : font_ref_(font_ref) { } + explicit Font(HFontRef* font_ref) : font_ref_(font_ref) { } // Reference to the base font all fonts are derived from. static HFontRef* base_font_ref_; @@ -190,15 +190,15 @@ class ChromeFont { // Indirect reference to the HFontRef, which references the underlying HFONT. scoped_refptr<HFontRef> font_ref_; #elif defined(OS_LINUX) - explicit ChromeFont(SkTypeface* typeface, const std::wstring& name, - int size, int style); + explicit Font(SkTypeface* typeface, const std::wstring& name, + int size, int style); // Calculate and cache the font metrics. void calculateMetrics(); // Make |this| a copy of |other|. - void CopyChromeFont(const ChromeFont& other); + void CopyFont(const Font& other); // The default font, used for the default constructor. - static ChromeFont* default_font_; + static Font* default_font_; // These two both point to the same SkTypeface. We use the SkAutoUnref to // handle the reference counting, but without @typeface_ we would have to @@ -217,7 +217,7 @@ class ChromeFont { int ascent_; int avg_width_; #elif defined(OS_MACOSX) - explicit ChromeFont(const std::wstring& font_name, int font_size, int style); + explicit Font(const std::wstring& font_name, int font_size, int style); // Calculate and cache the font metrics. void calculateMetrics(); @@ -234,4 +234,6 @@ class ChromeFont { }; -#endif // APP_GFX_CHROME_FONT_H_ +} // namespace gfx + +#endif // APP_GFX_FONT_H_ |