[email protected] | ad8d9d5 | 2013-08-22 07:20:05 | [diff] [blame] | 1 | // Copyright 2013 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. | ||||
4 | |||||
5 | #include "ui/gfx/text_utils.h" | ||||
6 | |||||
7 | #import <UIKit/UIKit.h> | ||||
8 | |||||
9 | #include <cmath> | ||||
10 | |||||
11 | #include "base/strings/sys_string_conversions.h" | ||||
12 | #include "ui/gfx/font_list.h" | ||||
stuartmorgan | 018f5c02 | 2015-03-09 20:19:15 | [diff] [blame] | 13 | #include "ui/gfx/ios/NSString+CrStringDrawing.h" |
[email protected] | ad8d9d5 | 2013-08-22 07:20:05 | [diff] [blame] | 14 | |
15 | namespace gfx { | ||||
16 | |||||
17 | int GetStringWidth(const base::string16& text, const FontList& font_list) { | ||||
[email protected] | 8ad3c5a | 2013-10-10 09:57:19 | [diff] [blame] | 18 | return std::ceil(GetStringWidthF(text, font_list)); |
19 | } | ||||
20 | |||||
21 | float GetStringWidthF(const base::string16& text, const FontList& font_list) { | ||||
[email protected] | ad8d9d5 | 2013-08-22 07:20:05 | [diff] [blame] | 22 | NSString* ns_text = base::SysUTF16ToNSString(text); |
23 | NativeFont native_font = font_list.GetPrimaryFont().GetNativeFont(); | ||||
lliabraa | c018ddc | 2014-09-03 20:36:55 | [diff] [blame] | 24 | return [ns_text cr_sizeWithFont:native_font].width; |
[email protected] | ad8d9d5 | 2013-08-22 07:20:05 | [diff] [blame] | 25 | } |
26 | |||||
27 | } // namespace gfx |