1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef UI_GFX_PLATFORM_FONT_MAC_H_
6 #define UI_GFX_PLATFORM_FONT_MAC_H_
8 #include "base/compiler_specific.h"
9 #include "ui/gfx/platform_font.h"
13 class PlatformFontMac
: public PlatformFont
{
16 explicit PlatformFontMac(NativeFont native_font
);
17 PlatformFontMac(const std::string
& font_name
,
20 // Overridden from PlatformFont:
21 virtual Font
DeriveFont(int size_delta
, int style
) const OVERRIDE
;
22 virtual int GetHeight() const OVERRIDE
;
23 virtual int GetBaseline() const OVERRIDE
;
24 virtual int GetAverageCharacterWidth() const OVERRIDE
;
25 virtual int GetStringWidth(const base::string16
& text
) const OVERRIDE
;
26 virtual int GetExpectedTextWidth(int length
) const OVERRIDE
;
27 virtual int GetStyle() const OVERRIDE
;
28 virtual std::string
GetFontName() const OVERRIDE
;
29 virtual int GetFontSize() const OVERRIDE
;
30 virtual NativeFont
GetNativeFont() const OVERRIDE
;
33 PlatformFontMac(const std::string
& font_name
, int font_size
, int style
);
34 virtual ~PlatformFontMac() {}
36 // Initialize the object with the specified parameters.
37 void InitWithNameSizeAndStyle(const std::string
& font_name
,
41 // Calculate and cache the font metrics.
42 void CalculateMetrics();
44 std::string font_name_
;
48 // Cached metrics, generated at construction.
53 DISALLOW_COPY_AND_ASSIGN(PlatformFontMac
);
58 #endif // UI_GFX_PLATFORM_FONT_MAC_H_