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