OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 UI_BASE_RESOURCE_RESOURCE_BUNDLE_H_ | 5 #ifndef UI_BASE_RESOURCE_RESOURCE_BUNDLE_H_ |
6 #define UI_BASE_RESOURCE_RESOURCE_BUNDLE_H_ | 6 #define UI_BASE_RESOURCE_RESOURCE_BUNDLE_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <map> | 10 #include <map> |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
43 // such as theme graphics. Every resource is loaded only once. | 43 // such as theme graphics. Every resource is loaded only once. |
44 class UI_BASE_EXPORT ResourceBundle { | 44 class UI_BASE_EXPORT ResourceBundle { |
45 public: | 45 public: |
46 // Legacy font size deltas. Consider these to be magic numbers. New code | 46 // Legacy font size deltas. Consider these to be magic numbers. New code |
47 // should declare their own size delta constant using an identifier that | 47 // should declare their own size delta constant using an identifier that |
48 // imparts some semantic meaning. | 48 // imparts some semantic meaning. |
49 static const int kSmallFontDelta = -1; | 49 static const int kSmallFontDelta = -1; |
50 static const int kMediumFontDelta = 3; | 50 static const int kMediumFontDelta = 3; |
51 static const int kLargeFontDelta = 8; | 51 static const int kLargeFontDelta = 8; |
52 | 52 |
53 static constexpr const char* CUSTOM_GZIP_HEADER = "\xff\x1f\x8b"; | |
54 | |
53 // Legacy font style mappings. TODO(tapted): Phase these out in favour of | 55 // Legacy font style mappings. TODO(tapted): Phase these out in favour of |
54 // client code providing their own constant with the desired font size delta. | 56 // client code providing their own constant with the desired font size delta. |
55 enum FontStyle { | 57 enum FontStyle { |
56 SmallFont, | 58 SmallFont, |
57 SmallBoldFont, | 59 SmallBoldFont, |
58 BaseFont, | 60 BaseFont, |
59 BoldFont, | 61 BoldFont, |
60 MediumFont, | 62 MediumFont, |
61 MediumBoldFont, | 63 MediumBoldFont, |
62 LargeFont, | 64 LargeFont, |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
209 // Similar to GetImageNamed, but rather than loading the image in Skia format, | 211 // Similar to GetImageNamed, but rather than loading the image in Skia format, |
210 // it will load in the native platform type. This can avoid conversion from | 212 // it will load in the native platform type. This can avoid conversion from |
211 // one image type to another. ResourceBundle owns the result. | 213 // one image type to another. ResourceBundle owns the result. |
212 // | 214 // |
213 // Note that if the same resource has already been loaded in GetImageNamed(), | 215 // Note that if the same resource has already been loaded in GetImageNamed(), |
214 // gfx::Image will perform a conversion, rather than using the native image | 216 // gfx::Image will perform a conversion, rather than using the native image |
215 // loading code of ResourceBundle. | 217 // loading code of ResourceBundle. |
216 gfx::Image& GetNativeImageNamed(int resource_id); | 218 gfx::Image& GetNativeImageNamed(int resource_id); |
217 | 219 |
218 // Loads the raw bytes of a scale independent data resource. | 220 // Loads the raw bytes of a scale independent data resource. |
221 // Will perform gzip decompression on any resource which has | |
222 // ResourceBundle::CUSTOM_GZIP_HEADER as its first 3 bytes. | |
agrieve
2016/05/27 17:40:00
nit: can you also add here that you can enable thi
smaier
2016/05/27 17:48:47
Done.
| |
219 base::RefCountedMemory* LoadDataResourceBytes(int resource_id) const; | 223 base::RefCountedMemory* LoadDataResourceBytes(int resource_id) const; |
220 | 224 |
221 // Loads the raw bytes of a data resource nearest the scale factor | 225 // Loads the raw bytes of a data resource nearest the scale factor |
222 // |scale_factor| into |bytes|, without doing any processing or | 226 // |scale_factor| into |bytes|, without doing any processing or |
223 // interpretation of the resource. Use ResourceHandle::SCALE_FACTOR_NONE | 227 // interpretation of the resource. Use ResourceHandle::SCALE_FACTOR_NONE |
224 // for scale independent image resources (such as wallpaper). | 228 // for scale independent image resources (such as wallpaper). |
229 // Will perform gzip decompression on any resource which has | |
230 // ResourceBundle::CUSTOM_GZIP_HEADER as its first 3 bytes. | |
225 // Returns NULL if we fail to read the resource. | 231 // Returns NULL if we fail to read the resource. |
226 base::RefCountedMemory* LoadDataResourceBytesForScale( | 232 base::RefCountedMemory* LoadDataResourceBytesForScale( |
227 int resource_id, | 233 int resource_id, |
228 ScaleFactor scale_factor) const; | 234 ScaleFactor scale_factor) const; |
229 | 235 |
230 // Return the contents of a scale independent resource in a | 236 // Return the contents of a scale independent resource in a |
231 // StringPiece given the resource id | 237 // StringPiece given the resource id. |
238 // NOTE: CHECKs to ensure this is not called on a resource which has | |
239 // ResourceBundle::CUSTOM_GZIP_HEADER as its first 3 bytes. | |
232 base::StringPiece GetRawDataResource(int resource_id) const; | 240 base::StringPiece GetRawDataResource(int resource_id) const; |
233 | 241 |
234 // Return the contents of a resource in a StringPiece given the resource id | 242 // Return the contents of a resource in a StringPiece given the resource id |
235 // nearest the scale factor |scale_factor|. | 243 // nearest the scale factor |scale_factor|. |
236 // Use ResourceHandle::SCALE_FACTOR_NONE for scale independent image resources | 244 // Use ResourceHandle::SCALE_FACTOR_NONE for scale independent image resources |
237 // (such as wallpaper). | 245 // (such as wallpaper). |
246 // NOTE: CHECKs to ensure this is not called on a resource which has | |
247 // ResourceBundle::CUSTOM_GZIP_HEADER as its first 3 bytes. | |
238 base::StringPiece GetRawDataResourceForScale(int resource_id, | 248 base::StringPiece GetRawDataResourceForScale(int resource_id, |
239 ScaleFactor scale_factor) const; | 249 ScaleFactor scale_factor) const; |
240 | 250 |
241 // Get a localized string given a message id. Returns an empty | 251 // Get a localized string given a message id. Returns an empty |
242 // string if the message_id is not found. | 252 // string if the message_id is not found. |
243 base::string16 GetLocalizedString(int message_id); | 253 base::string16 GetLocalizedString(int message_id); |
244 | 254 |
245 // Returns a font list derived from the platform-specific "Base" font list. | 255 // Returns a font list derived from the platform-specific "Base" font list. |
246 // The result is always cached and exists for the lifetime of the process. | 256 // The result is always cached and exists for the lifetime of the process. |
247 const gfx::FontList& GetFontListWithDelta( | 257 const gfx::FontList& GetFontListWithDelta( |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
375 | 385 |
376 // Fills the |bitmap| given the |resource_id| and |scale_factor|. | 386 // Fills the |bitmap| given the |resource_id| and |scale_factor|. |
377 // Returns false if the resource does not exist. This may fall back to | 387 // Returns false if the resource does not exist. This may fall back to |
378 // the data pack with SCALE_FACTOR_NONE, and when this happens, | 388 // the data pack with SCALE_FACTOR_NONE, and when this happens, |
379 // |scale_factor| will be set to SCALE_FACTOR_100P. | 389 // |scale_factor| will be set to SCALE_FACTOR_100P. |
380 bool LoadBitmap(int resource_id, | 390 bool LoadBitmap(int resource_id, |
381 ScaleFactor* scale_factor, | 391 ScaleFactor* scale_factor, |
382 SkBitmap* bitmap, | 392 SkBitmap* bitmap, |
383 bool* fell_back_to_1x) const; | 393 bool* fell_back_to_1x) const; |
384 | 394 |
395 // Loads the raw bytes of a data resource nearest the scale factor | |
396 // |scale_factor| into |bytes|, without doing any processing or | |
397 // interpretation of the resource. Use ResourceHandle::SCALE_FACTOR_NONE | |
398 // for scale independent image resources (such as wallpaper). | |
399 // Returns NULL if we fail to read the resource. | |
400 base::StringPiece DoGetRawDataResourceForScale( | |
401 int resource_id, | |
402 ScaleFactor scale_factor) const; | |
403 | |
385 // Returns true if missing scaled resources should be visually indicated when | 404 // Returns true if missing scaled resources should be visually indicated when |
386 // drawing the fallback (e.g., by tinting the image). | 405 // drawing the fallback (e.g., by tinting the image). |
387 static bool ShouldHighlightMissingScaledResources(); | 406 static bool ShouldHighlightMissingScaledResources(); |
388 | 407 |
389 // Returns true if the data in |buf| is a PNG that has the special marker | 408 // Returns true if the data in |buf| is a PNG that has the special marker |
390 // added by GRIT that indicates that the image is actually 1x data. | 409 // added by GRIT that indicates that the image is actually 1x data. |
391 static bool PNGContainsFallbackMarker(const unsigned char* buf, size_t size); | 410 static bool PNGContainsFallbackMarker(const unsigned char* buf, size_t size); |
392 | 411 |
393 // A wrapper for PNGCodec::Decode that returns information about custom | 412 // A wrapper for PNGCodec::Decode that returns information about custom |
394 // chunks. For security reasons we can't alter PNGCodec to return this | 413 // chunks. For security reasons we can't alter PNGCodec to return this |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
443 | 462 |
444 DISALLOW_COPY_AND_ASSIGN(ResourceBundle); | 463 DISALLOW_COPY_AND_ASSIGN(ResourceBundle); |
445 }; | 464 }; |
446 | 465 |
447 } // namespace ui | 466 } // namespace ui |
448 | 467 |
449 // TODO(beng): Someday, maybe, get rid of this. | 468 // TODO(beng): Someday, maybe, get rid of this. |
450 using ui::ResourceBundle; | 469 using ui::ResourceBundle; |
451 | 470 |
452 #endif // UI_BASE_RESOURCE_RESOURCE_BUNDLE_H_ | 471 #endif // UI_BASE_RESOURCE_RESOURCE_BUNDLE_H_ |
OLD | NEW |