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
15namespace gfx {
16
17int GetStringWidth(const base::string16& text, const FontList& font_list) {
18  return std::ceil(GetStringWidthF(text, font_list));
19}
20
21float 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