Refactor HpackDecoder's public API to ease integration into SpdyFramer.
[chromium-blink-merge.git] / ui / gfx / platform_font_ios.h
blob3323f820c4596d7674d0b517219e5fd2806995d4
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 virtual Font DeriveFont(int size_delta, int style) const OVERRIDE;
21 virtual int GetHeight() const OVERRIDE;
22 virtual int GetBaseline() const OVERRIDE;
23 virtual int GetCapHeight() const OVERRIDE;
24 virtual int GetExpectedTextWidth(int length) const OVERRIDE;
25 virtual int GetStyle() const OVERRIDE;
26 virtual std::string GetFontName() const OVERRIDE;
27 virtual std::string GetActualFontNameForTesting() const OVERRIDE;
28 virtual int GetFontSize() const OVERRIDE;
29 virtual NativeFont GetNativeFont() const OVERRIDE;
31 private:
32 PlatformFontIOS(const std::string& font_name, int font_size, int style);
33 virtual ~PlatformFontIOS() {}
35 // Initialize the object with the specified parameters.
36 void InitWithNameSizeAndStyle(const std::string& font_name,
37 int font_size,
38 int style);
40 // Calculate and cache the font metrics.
41 void CalculateMetrics();
43 std::string font_name_;
44 int font_size_;
45 int style_;
47 // Cached metrics, generated at construction.
48 int height_;
49 int ascent_;
50 int cap_height_;
51 int average_width_;
53 DISALLOW_COPY_AND_ASSIGN(PlatformFontIOS);
56 } // namespace gfx
58 #endif // UI_GFX_PLATFORM_FONT_IOS_H_