Componentize pref registration in BookmarkModelFactory
[chromium-blink-merge.git] / ui / gfx / platform_font_ios.h
blobca3f131d2990f115a3f7a31ab5120904f80429f7
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_IOS_H_
6 #define UI_GFX_PLATFORM_FONT_IOS_H_
8 #include "ui/gfx/platform_font.h"
10 namespace gfx {
12 class PlatformFontIOS : public PlatformFont {
13 public:
14 PlatformFontIOS();
15 explicit PlatformFontIOS(NativeFont native_font);
16 PlatformFontIOS(const std::string& font_name,
17 int font_size);
19 // Overridden from PlatformFont:
20 Font DeriveFont(int size_delta, int style) const override;
21 int GetHeight() const override;
22 int GetBaseline() const override;
23 int GetCapHeight() const override;
24 int GetExpectedTextWidth(int length) const override;
25 int GetStyle() const override;
26 std::string GetFontName() const override;
27 std::string GetActualFontNameForTesting() const override;
28 int GetFontSize() const override;
29 const FontRenderParams& GetFontRenderParams() override;
30 NativeFont GetNativeFont() const override;
32 private:
33 PlatformFontIOS(const std::string& font_name, int font_size, int style);
34 ~PlatformFontIOS() override {}
36 // Initialize the object with the specified parameters.
37 void InitWithNameSizeAndStyle(const std::string& font_name,
38 int font_size,
39 int style);
41 // Calculate and cache the font metrics.
42 void CalculateMetrics();
44 std::string font_name_;
45 int font_size_;
46 int style_;
48 // Cached metrics, generated at construction.
49 int height_;
50 int ascent_;
51 int cap_height_;
52 int average_width_;
54 DISALLOW_COPY_AND_ASSIGN(PlatformFontIOS);
57 } // namespace gfx
59 #endif // UI_GFX_PLATFORM_FONT_IOS_H_