Index: ui/base/resource/resource_bundle.h |
diff --git a/ui/base/resource/resource_bundle.h b/ui/base/resource/resource_bundle.h |
index 9ff0e309d0de7114424855933681a6d1f757e4c8..4e1720374f6f869a125639d843ee5b8e49ba95a6 100644 |
--- a/ui/base/resource/resource_bundle.h |
+++ b/ui/base/resource/resource_bundle.h |
@@ -33,6 +33,7 @@ class StringPiece; |
namespace gfx { |
class Font; |
+class Image; |
} |
#if defined(OS_MACOSX) |
@@ -98,8 +99,19 @@ class ResourceBundle { |
// Gets the bitmap with the specified resource_id from the current module |
// data. Returns a pointer to a shared instance of the SkBitmap. This shared |
// bitmap is owned by the resource bundle and should not be freed. |
+ // |
+ // !! THIS IS DEPRECATED. PLEASE USE THE METHOD BELOW. !! |
SkBitmap* GetBitmapNamed(int resource_id); |
+ // Gets an image resource from the current module data. This will load the |
+ // image in Skia format by default. The ResourceBundle owns this. |
+ gfx::Image& GetImageNamed(int resource_id); |
+ |
+ // Similar to GetImageNamed, but rather than loading the image in Skia format, |
+ // it will load in the native platform type. This can avoid conversion from |
+ // one image type to another. ResourceBundle owns the result. |
TVL
2011/02/18 21:19:12
so this isn't completely true. It might not go th
Robert Sesek
2011/02/18 21:48:17
Added a comment.
|
+ gfx::Image& GetNativeImageNamed(int resource_id); |
+ |
// Loads the raw bytes of a data resource into |bytes|, |
// without doing any processing or interpretation of |
// the resource. Returns whether we successfully read the resource. |
@@ -115,24 +127,12 @@ class ResourceBundle { |
// Returns the font for the specified style. |
const gfx::Font& GetFont(FontStyle style); |
- // Returns the gfx::NativeImage, the native platform type, named resource. |
- // Internally, this makes use of GetNSImageNamed(), GetPixbufNamed(), or |
- // GetBitmapNamed() depending on the platform (see gfx/native_widget_types.h). |
- // NOTE: On Mac the returned resource is autoreleased. |
- gfx::NativeImage GetNativeImageNamed(int resource_id); |
- |
#if defined(OS_WIN) |
// Loads and returns an icon from the app module. |
HICON LoadThemeIcon(int icon_id); |
// Loads and returns a cursor from the app module. |
HCURSOR LoadCursor(int cursor_id); |
-#elif defined(OS_MACOSX) |
- private: |
- // Wrapper for GetBitmapNamed. Converts the bitmap to an autoreleased NSImage. |
- // TODO(rsesek): Move implementation into GetNativeImageNamed(). |
- NSImage* GetNSImageNamed(int resource_id); |
- public: |
#elif defined(USE_X11) |
// Gets the GdkPixbuf with the specified resource_id from the main data pak |
// file. Returns a pointer to a shared instance of the GdkPixbuf. This |
@@ -149,7 +149,7 @@ class ResourceBundle { |
private: |
// Shared implementation for the above two functions. |
- GdkPixbuf* GetPixbufImpl(int resource_id, bool rtl_enabled); |
+ gfx::Image* GetPixbufImpl(int resource_id, bool rtl_enabled); |
public: |
#endif |
@@ -200,11 +200,6 @@ class ResourceBundle { |
// Free skia_images_. |
void FreeImages(); |
-#if defined(USE_X11) |
- // Free gdkPixbufs_. |
- void FreeGdkPixBufs(); |
-#endif |
- |
// Load the main resources. |
void LoadCommonResources(); |
@@ -241,8 +236,12 @@ class ResourceBundle { |
// done. |
static SkBitmap* LoadBitmap(DataHandle dll_inst, int resource_id); |
+ // Returns an empty image for when a resource cannot be loaded. This is a |
+ // bright red bitmap. |
+ gfx::Image* GetEmptyImage(); |
+ |
// Class level lock. Used to protect internal data structures that may be |
- // accessed from other threads (e.g., skia_images_). |
+ // accessed from other threads (e.g., images_). |
scoped_ptr<base::Lock> lock_; |
// Handles for data sources. |
@@ -252,14 +251,10 @@ class ResourceBundle { |
// References to extra data packs loaded via AddDataPackToSharedInstance. |
std::vector<LoadedDataPack*> data_packs_; |
- // Cached images. The ResourceBundle caches all retrieved bitmaps and keeps |
+ // Cached images. The ResourceBundle caches all retrieved images and keeps |
// ownership of the pointers. |
- typedef std::map<int, SkBitmap*> SkImageMap; |
- SkImageMap skia_images_; |
-#if defined(USE_X11) |
- typedef std::map<int, GdkPixbuf*> GdkPixbufMap; |
- GdkPixbufMap gdk_pixbufs_; |
-#endif |
+ typedef std::map<int, gfx::Image*> ImageMap; |
+ ImageMap images_; |
// The various fonts used. Cached to avoid repeated GDI creation/destruction. |
scoped_ptr<gfx::Font> base_font_; |