Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(140)

Side by Side Diff: ui/gfx/platform_font_ios.mm

Issue 470923005: Reland: Update iOS deployment target to 7.0 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix nil font handling Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « build/common.gypi ('k') | ui/gfx/text_utils_ios.mm » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/gfx/platform_font_ios.h" 5 #include "ui/gfx/platform_font_ios.h"
6 6
7 #import <UIKit/UIKit.h> 7 #import <UIKit/UIKit.h>
8 8
9 #include <cmath>
10
9 #include "base/basictypes.h" 11 #include "base/basictypes.h"
10 #include "base/strings/sys_string_conversions.h" 12 #include "base/strings/sys_string_conversions.h"
11 #include "base/strings/utf_string_conversions.h" 13 #include "base/strings/utf_string_conversions.h"
12 #include "ui/gfx/font.h" 14 #include "ui/gfx/font.h"
13 #include "ui/gfx/font_render_params.h" 15 #include "ui/gfx/font_render_params.h"
14 16
15 namespace gfx { 17 namespace gfx {
16 18
17 //////////////////////////////////////////////////////////////////////////////// 19 ////////////////////////////////////////////////////////////////////////////////
18 // PlatformFontIOS, public: 20 // PlatformFontIOS, public:
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 font_size_ = font_size; 105 font_size_ = font_size;
104 style_ = style; 106 style_ = style;
105 CalculateMetrics(); 107 CalculateMetrics();
106 } 108 }
107 109
108 void PlatformFontIOS::CalculateMetrics() { 110 void PlatformFontIOS::CalculateMetrics() {
109 UIFont* font = GetNativeFont(); 111 UIFont* font = GetNativeFont();
110 height_ = font.lineHeight; 112 height_ = font.lineHeight;
111 ascent_ = font.ascender; 113 ascent_ = font.ascender;
112 cap_height_ = font.capHeight; 114 cap_height_ = font.capHeight;
113 average_width_ = [@"x" sizeWithFont:font].width; 115 if (font) {
116 NSDictionary* attributes = @{ NSFontAttributeName : font };
117 average_width_ = std::ceil([@"x" sizeWithAttributes:attributes].width);
118 } else {
119 average_width_ = 0;
120 }
114 } 121 }
115 122
116 //////////////////////////////////////////////////////////////////////////////// 123 ////////////////////////////////////////////////////////////////////////////////
117 // PlatformFont, public: 124 // PlatformFont, public:
118 125
119 // static 126 // static
120 PlatformFont* PlatformFont::CreateDefault() { 127 PlatformFont* PlatformFont::CreateDefault() {
121 return new PlatformFontIOS; 128 return new PlatformFontIOS;
122 } 129 }
123 130
124 // static 131 // static
125 PlatformFont* PlatformFont::CreateFromNativeFont(NativeFont native_font) { 132 PlatformFont* PlatformFont::CreateFromNativeFont(NativeFont native_font) {
126 return new PlatformFontIOS(native_font); 133 return new PlatformFontIOS(native_font);
127 } 134 }
128 135
129 // static 136 // static
130 PlatformFont* PlatformFont::CreateFromNameAndSize(const std::string& font_name, 137 PlatformFont* PlatformFont::CreateFromNameAndSize(const std::string& font_name,
131 int font_size) { 138 int font_size) {
132 return new PlatformFontIOS(font_name, font_size); 139 return new PlatformFontIOS(font_name, font_size);
133 } 140 }
134 141
135 } // namespace gfx 142 } // namespace gfx
OLDNEW
« no previous file with comments | « build/common.gypi ('k') | ui/gfx/text_utils_ios.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698