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" 13 #include "ui/ios/NSString+CrStringDrawing.h" 14 15 namespace gfx { 16 17 int GetStringWidth(const base::string16& text, const FontList& font_list) { 18 return std::ceil(GetStringWidthF(text, font_list)); 19 } 20 21 float GetStringWidthF(const base::string16& text, const FontList& font_list) { 22 NSString* ns_text = base::SysUTF16ToNSString(text); 23 NativeFont native_font = font_list.GetPrimaryFont().GetNativeFont(); 24 return [ns_text cr_sizeWithFont:native_font].width; 25 } 26 27 } // namespace gfx 28