Call _set_FMA3_enable(0); to work around VS 2013 CRT AVX bug.
[chromium-blink-merge.git] / ui / gfx / platform_font_ios.h
blobbb0aeaa7f4f20fb3d009402b73ff61eb7f4340ca
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 const FontRenderParams& GetFontRenderParams() const override;
30 virtual NativeFont GetNativeFont() const override;
32 private:
33 PlatformFontIOS(const std::string& font_name, int font_size, int style);
34 virtual ~PlatformFontIOS() {}
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_