| // Copyright 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef UI_GFX_TEXT_UTILS_H_ |
| #define UI_GFX_TEXT_UTILS_H_ |
| |
| #include "base/strings/string16.h" |
| #include "ui/gfx/gfx_export.h" |
| |
| namespace gfx { |
| |
| class FontList; |
| |
| // Strip the accelerator char (typically '&') from a menu string. A double |
| // accelerator char ('&&') will be converted to a single char. The out params |
| // |accelerated_char_pos| and |accelerated_char_span| will be set to the index |
| // and span of the last accelerated character, respectively, or -1 and 0 if |
| // there was none. |
| GFX_EXPORT base::string16 RemoveAcceleratorChar(const base::string16& s, |
| base::char16 accelerator_char, |
| int* accelerated_char_pos, |
| int* accelerated_char_span); |
| |
| // Returns the number of horizontal pixels needed to display the specified |
| // |text| with |font_list|. |
| GFX_EXPORT int GetStringWidth(const base::string16& text, |
| const FontList& font_list); |
| |
| // This is same as GetStringWidth except that fractional width is returned. |
| GFX_EXPORT float GetStringWidthF(const base::string16& text, |
| const FontList& font_list); |
| |
| } // namespace gfx |
| |
| #endif // UI_GFX_TEXT_UTILS_H_ |