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

Unified Diff: ui/gfx/image.h

Issue 6849030: Add support for multi resolution icons (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added comments Created 9 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/base/resource/resource_bundle_posix.cc ('k') | ui/gfx/image.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gfx/image.h
diff --git a/ui/gfx/image.h b/ui/gfx/image.h
index fddf4da27eb98ca4f11a95dd90b59a8125c9ff9f..69117ffc39977a6b0980e614065dd0bf6f59a7d3 100644
--- a/ui/gfx/image.h
+++ b/ui/gfx/image.h
@@ -15,6 +15,7 @@
#pragma once
#include <map>
+#include <vector>
#include "base/basictypes.h"
#include "base/gtest_prod_util.h"
@@ -25,6 +26,7 @@ class SkBitmap;
namespace {
class ImageTest;
+class ImageMacTest;
}
namespace gfx {
@@ -44,11 +46,17 @@ class Image {
// Creates a new image with the default representation. The object will take
// ownership of the image.
explicit Image(const SkBitmap* bitmap);
+ // To create an Image that supports multiple resolutions pass a vector
+ // of bitmaps, one for each resolution.
+ explicit Image(const std::vector<const SkBitmap*>& bitmaps);
+
#if defined(OS_LINUX)
// Does not increase |pixbuf|'s reference count; expects to take ownership.
explicit Image(GdkPixbuf* pixbuf);
#elif defined(OS_MACOSX)
// Does not retain |image|; expects to take ownership.
+ // A single NSImage object can contain multiple bitmaps so there's no reason
+ // to pass a vector of these.
explicit Image(NSImage* image);
#endif
@@ -64,6 +72,16 @@ class Image {
operator NSImage*();
#endif
+ // Gets the number of bitmaps in this image. This may cause a conversion
+ // to a bitmap representation. Note, this function and GetSkBitmapAtIndex()
+ // are primarily meant to be used by the theme provider.
+ size_t GetNumberOfSkBitmaps();
+
+ // Gets the bitmap at the given index. This may cause a conversion
+ // to a bitmap representation. Note, the internal ordering of bitmaps is not
+ // guaranteed.
+ const SkBitmap* GetSkBitmapAtIndex(size_t index);
+
// Inspects the representations map to see if the given type exists.
bool HasRepresentation(RepresentationType type);
@@ -92,6 +110,7 @@ class Image {
RepresentationMap representations_;
friend class ::ImageTest;
+ friend class ::ImageMacTest;
DISALLOW_COPY_AND_ASSIGN(Image);
};
« no previous file with comments | « ui/base/resource/resource_bundle_posix.cc ('k') | ui/gfx/image.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698