Home | History | Annotate | Download | only in gfx
      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