Chromium Code Reviews| Index: ui/base/resource/resource_bundle.h |
| diff --git a/ui/base/resource/resource_bundle.h b/ui/base/resource/resource_bundle.h |
| index 5a3cc5a4b123117341cfd7b623e9f9ac9af12591..1382aeb9350576250739ccbd15b13e5242009944 100644 |
| --- a/ui/base/resource/resource_bundle.h |
| +++ b/ui/base/resource/resource_bundle.h |
| @@ -43,12 +43,16 @@ class ResourceHandle; |
| // such as theme graphics. Every resource is loaded only once. |
| class UI_BASE_EXPORT ResourceBundle { |
| public: |
| - // An enumeration of the various font styles used throughout Chrome. |
| - // The following holds true for the font sizes: |
| - // Small <= SmallBold <= Base <= Bold <= Medium <= MediumBold <= Large. |
| + // Legacy font size deltas. Consider these to be magic numbers. New code |
| + // should declare their own size delta constant using an identifier that |
| + // imparts some semantic meaning. |
| + static const int kSmallFontDelta = -1; |
| + static const int kMediumFontDelta = 3; |
| + static const int kLargeFontDelta = 8; |
| + |
| + // Legacy font style mappings. TODO(tapted): Phase these out in favour of |
| + // client code providing their own constant with the desired font size delta. |
| enum FontStyle { |
| - // NOTE: depending upon the locale, using one of the *BoldFont below |
| - // may *not* actually result in a bold font. |
| SmallFont, |
| SmallBoldFont, |
| BaseFont, |
| @@ -238,10 +242,19 @@ class UI_BASE_EXPORT ResourceBundle { |
| // string if the message_id is not found. |
| base::string16 GetLocalizedString(int message_id); |
| - // Returns the font list for the specified style. |
| - const gfx::FontList& GetFontList(FontStyle style); |
| + // Returns a font list derived from the platform-specific "Base" font list. |
| + // The result is always cached and exists for the lifetime of the process. |
| + const gfx::FontList& GetFontListWithDelta( |
| + int size_delta, |
| + gfx::Font::FontStyle style = gfx::Font::NORMAL); |
|
tfarina
2016/02/24 20:39:24
is default parameters now allowed? I thought they
tapted
2016/02/25 00:21:11
This has gone through all the approvals for the go
|
| + |
| + // Returns the primary font from the FontList given by GetFontListWithDelta(). |
| + const gfx::Font& GetFontWithDelta( |
| + int size_delta, |
| + gfx::Font::FontStyle style = gfx::Font::NORMAL); |
| - // Returns the font for the specified style. |
| + // Deprecated. Returns fonts using hard-coded size deltas implied by |style|. |
| + const gfx::FontList& GetFontList(FontStyle style); |
| const gfx::Font& GetFont(FontStyle style); |
| // Resets and reloads the cached fonts. This is useful when the fonts of the |
| @@ -341,10 +354,6 @@ class UI_BASE_EXPORT ResourceBundle { |
| // Initializes the font description of default gfx::FontList. |
| void InitDefaultFontList(); |
| - // Initializes all the gfx::FontList members if they haven't yet been |
| - // initialized. |
| - void LoadFontsIfNecessary(); |
| - |
| // Fills the |bitmap| given the data file to look in and the |resource_id|. |
| // Returns false if the resource does not exist. |
| // |
| @@ -411,17 +420,11 @@ class UI_BASE_EXPORT ResourceBundle { |
| gfx::Image empty_image_; |
| - // The various font lists used. Cached to avoid repeated GDI |
| - // creation/destruction. |
| - scoped_ptr<gfx::FontList> base_font_list_; |
| - scoped_ptr<gfx::FontList> bold_font_list_; |
| - scoped_ptr<gfx::FontList> small_font_list_; |
| - scoped_ptr<gfx::FontList> small_bold_font_list_; |
| - scoped_ptr<gfx::FontList> medium_font_list_; |
| - scoped_ptr<gfx::FontList> medium_bold_font_list_; |
| - scoped_ptr<gfx::FontList> large_font_list_; |
| - scoped_ptr<gfx::FontList> large_bold_font_list_; |
| - scoped_ptr<gfx::FontList> web_font_list_; |
| + // The various font lists used, as a map from a signed size delta from the |
| + // platform base font size, plus style, to the FontList. Cached to avoid |
| + // repeated GDI creation/destruction and font derivation. |
| + // Must be accessed only while holding |images_and_fonts_lock_|. |
| + std::map<std::pair<int, gfx::Font::FontStyle>, gfx::FontList> font_cache_; |
| base::FilePath overridden_pak_path_; |