Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Side by Side Diff: chrome/browser/browser_theme_provider.h

Issue 151153: Allow getting the theme tint as a value so that it can be applied independent... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « app/theme_provider.h ('k') | chrome/browser/browser_theme_provider.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_BROWSER_THEME_PROVIDER_H_ 5 #ifndef CHROME_BROWSER_BROWSER_THEME_PROVIDER_H_
6 #define CHROME_BROWSER_BROWSER_THEME_PROVIDER_H_ 6 #define CHROME_BROWSER_BROWSER_THEME_PROVIDER_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 // ThemeProvider implementation. 67 // ThemeProvider implementation.
68 virtual SkBitmap* GetBitmapNamed(int id); 68 virtual SkBitmap* GetBitmapNamed(int id);
69 virtual SkColor GetColor(int id); 69 virtual SkColor GetColor(int id);
70 virtual bool GetDisplayProperty(int id, int* result); 70 virtual bool GetDisplayProperty(int id, int* result);
71 virtual bool ShouldUseNativeFrame(); 71 virtual bool ShouldUseNativeFrame();
72 virtual bool HasCustomImage(int id); 72 virtual bool HasCustomImage(int id);
73 #if defined(OS_LINUX) && !defined(TOOLKIT_VIEWS) 73 #if defined(OS_LINUX) && !defined(TOOLKIT_VIEWS)
74 virtual GdkPixbuf* GetPixbufNamed(int id); 74 virtual GdkPixbuf* GetPixbufNamed(int id);
75 #elif defined(OS_MACOSX) 75 #elif defined(OS_MACOSX)
76 virtual NSImage* GetNSImageNamed(int id); 76 virtual NSImage* GetNSImageNamed(int id);
77 virtual NSColor* GetNSColorTint(int id);
77 #endif 78 #endif
78 79
79 // Set the current theme to the theme defined in |extension|. 80 // Set the current theme to the theme defined in |extension|.
80 void SetTheme(Extension* extension); 81 void SetTheme(Extension* extension);
81 82
82 // Reset the theme to default. 83 // Reset the theme to default.
83 void UseDefaultTheme(); 84 void UseDefaultTheme();
84 85
85 // Convert a bitfield alignment into a string like "top left". Public so that 86 // Convert a bitfield alignment into a string like "top left". Public so that
86 // it can be used to generate CSS values. Takes a bitfield of AlignmentMasks. 87 // it can be used to generate CSS values. Takes a bitfield of AlignmentMasks.
(...skipping 10 matching lines...) Expand all
97 typedef std::map<const std::string, int> DisplayPropertyMap; 98 typedef std::map<const std::string, int> DisplayPropertyMap;
98 99
99 // Reads the image data from the theme file into the specified vector. Returns 100 // Reads the image data from the theme file into the specified vector. Returns
100 // true on success. 101 // true on success.
101 bool ReadThemeFileData(int id, std::vector<unsigned char>* raw_data); 102 bool ReadThemeFileData(int id, std::vector<unsigned char>* raw_data);
102 103
103 // Loads a bitmap from the theme, which may be tinted or 104 // Loads a bitmap from the theme, which may be tinted or
104 // otherwise modified, or an application default. 105 // otherwise modified, or an application default.
105 SkBitmap* LoadThemeBitmap(int id); 106 SkBitmap* LoadThemeBitmap(int id);
106 107
108 // Returns the string key for the given tint |id| TINT_* enum value.
109 const std::string GetTintKey(int id);
110
111 // Returns the default tint for the given tint |id| TINT_* enum value.
112 skia::HSL GetDefaultTint(int id);
113
107 // Get the specified tint - |id| is one of the TINT_* enum values. 114 // Get the specified tint - |id| is one of the TINT_* enum values.
108 skia::HSL GetTint(int id); 115 skia::HSL GetTint(int id);
109 116
110 // Tint |bitmap| with the tint specified by |hsl_id| 117 // Tint |bitmap| with the tint specified by |hsl_id|
111 SkBitmap TintBitmap(const SkBitmap& bitmap, int hsl_id); 118 SkBitmap TintBitmap(const SkBitmap& bitmap, int hsl_id);
112 119
113 // The following load data from specified dictionaries (either from 120 // The following load data from specified dictionaries (either from
114 // preferences or from an extension manifest) and update our theme 121 // preferences or from an extension manifest) and update our theme
115 // data appropriately. 122 // data appropriately.
116 // Allow any ResourceBundle image to be overridden. |images| should 123 // Allow any ResourceBundle image to be overridden. |images| should
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 158
152 // Let all the browser views know that themes have changed. 159 // Let all the browser views know that themes have changed.
153 void NotifyThemeChanged(); 160 void NotifyThemeChanged();
154 161
155 // Load theme data from preferences. 162 // Load theme data from preferences.
156 void LoadThemePrefs(); 163 void LoadThemePrefs();
157 164
158 SkColor FindColor(const char* id, SkColor default_color); 165 SkColor FindColor(const char* id, SkColor default_color);
159 166
160 // Frees generated images and clears the image cache. 167 // Frees generated images and clears the image cache.
161 void FreeImages(); 168 void ClearCaches();
162 169
163 // Clears the platform-specific image cache. Do not call directly; it's called 170 // Clears the platform-specific caches. Do not call directly; it's called
164 // from FreeImages(). 171 // from ClearCaches().
165 void FreePlatformImages(); 172 void FreePlatformCaches();
166 173
167 // Cached images. We cache all retrieved and generated bitmaps and keep 174 // Cached images. We cache all retrieved and generated bitmaps and keep
168 // track of the pointers. We own these and will delete them when we're done 175 // track of the pointers. We own these and will delete them when we're done
169 // using them. 176 // using them.
170 typedef std::map<int, SkBitmap*> ImageCache; 177 typedef std::map<int, SkBitmap*> ImageCache;
171 ImageCache image_cache_; 178 ImageCache image_cache_;
172 #if defined(OS_LINUX) && !defined(TOOLKIT_VIEWS) 179 #if defined(OS_LINUX) && !defined(TOOLKIT_VIEWS)
173 typedef std::map<int, GdkPixbuf*> GdkPixbufMap; 180 typedef std::map<int, GdkPixbuf*> GdkPixbufMap;
174 GdkPixbufMap gdk_pixbufs_; 181 GdkPixbufMap gdk_pixbufs_;
175 #elif defined(OS_MACOSX) 182 #elif defined(OS_MACOSX)
176 typedef std::map<int, NSImage*> NSImageMap; 183 typedef std::map<int, NSImage*> NSImageMap;
177 NSImageMap nsimage_cache_; 184 NSImageMap nsimage_cache_;
185 typedef std::map<int, NSColor*> NSColorMap;
186 NSColorMap nscolor_cache_;
178 #endif 187 #endif
179 188
180 ResourceBundle& rb_; 189 ResourceBundle& rb_;
181 Profile* profile_; 190 Profile* profile_;
182 191
183 ImageMap images_; 192 ImageMap images_;
184 ColorMap colors_; 193 ColorMap colors_;
185 TintMap tints_; 194 TintMap tints_;
186 DisplayPropertyMap display_properties_; 195 DisplayPropertyMap display_properties_;
187 196
188 DISALLOW_COPY_AND_ASSIGN(BrowserThemeProvider); 197 DISALLOW_COPY_AND_ASSIGN(BrowserThemeProvider);
189 }; 198 };
190 199
191 #endif // CHROME_BROWSER_BROWSER_THEME_PROVIDER_H_ 200 #endif // CHROME_BROWSER_BROWSER_THEME_PROVIDER_H_
OLDNEW
« no previous file with comments | « app/theme_provider.h ('k') | chrome/browser/browser_theme_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698