blob: e869ab53975e30bfb572337a74d8af7bc432ade3 [file] [log] [blame]
[email protected]ad8d9d52013-08-22 07:20:051// 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"
stuartmorgan018f5c022015-03-09 20:19:1513#include "ui/gfx/ios/NSString+CrStringDrawing.h"
[email protected]ad8d9d52013-08-22 07:20:0514
15namespace gfx {
16
17int GetStringWidth(const base::string16& text, const FontList& font_list) {
[email protected]8ad3c5a2013-10-10 09:57:1918 return std::ceil(GetStringWidthF(text, font_list));
19}
20
21float GetStringWidthF(const base::string16& text, const FontList& font_list) {
[email protected]ad8d9d52013-08-22 07:20:0522 NSString* ns_text = base::SysUTF16ToNSString(text);
23 NativeFont native_font = font_list.GetPrimaryFont().GetNativeFont();
lliabraac018ddc2014-09-03 20:36:5524 return [ns_text cr_sizeWithFont:native_font].width;
[email protected]ad8d9d52013-08-22 07:20:0525}
26
27} // namespace gfx