diff options
author | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-21 17:59:05 +0000 |
---|---|---|
committer | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-21 17:59:05 +0000 |
commit | bbfb462b6f1d53e1dec51b125203a87170bbd382 (patch) | |
tree | c25b3517192ebabc93c4c03b32679f178f332f3d /ui | |
parent | dbe60662784dc5b682847fa3293d88949d18ddc4 (diff) | |
download | chromium_src-bbfb462b6f1d53e1dec51b125203a87170bbd382.zip chromium_src-bbfb462b6f1d53e1dec51b125203a87170bbd382.tar.gz chromium_src-bbfb462b6f1d53e1dec51b125203a87170bbd382.tar.bz2 |
mac: Remove implicit conversion from ImageSkia to SkBitmap.
BUG=141146, 132327
Review URL: https://chromiumcodereview.appspot.com/10834382
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152592 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui')
-rw-r--r-- | ui/gfx/image/image_skia.h | 2 | ||||
-rw-r--r-- | ui/gfx/image/image_skia_unittest.cc | 2 | ||||
-rw-r--r-- | ui/gfx/image/image_skia_util_mac.h | 8 | ||||
-rw-r--r-- | ui/gfx/image/image_skia_util_mac.mm | 20 |
4 files changed, 29 insertions, 3 deletions
diff --git a/ui/gfx/image/image_skia.h b/ui/gfx/image/image_skia.h index 7c729cb..259a71e 100644 --- a/ui/gfx/image/image_skia.h +++ b/ui/gfx/image/image_skia.h @@ -60,7 +60,7 @@ class UI_EXPORT ImageSkia { // done. ImageSkia& operator=(const SkBitmap& other); -#if defined(OS_MACOSX) || defined(OS_WIN) +#if defined(OS_WIN) // Converts to gfx::ImageSkiaRep and SkBitmap. // TODO(pkotwicz): This is temporary till conversion to gfx::ImageSkia is // done. diff --git a/ui/gfx/image/image_skia_unittest.cc b/ui/gfx/image/image_skia_unittest.cc index 20d9d45..9967a2f0 100644 --- a/ui/gfx/image/image_skia_unittest.cc +++ b/ui/gfx/image/image_skia_unittest.cc @@ -188,7 +188,7 @@ TEST(ImageSkiaTest, GetBitmapFromEmpty) { EXPECT_TRUE(bitmap->empty()); } -#if defined(OS_MACOSX) || defined(OS_WIN) +#if defined(OS_WIN) TEST(ImageSkiaTest, OperatorBitmapFromSource) { ImageSkia image_skia(new DynamicSource(Size(100, 200)), Size(100, 200)); // ImageSkia should use the source to create the bitmap. diff --git a/ui/gfx/image/image_skia_util_mac.h b/ui/gfx/image/image_skia_util_mac.h index 5ef61bc..1a4427d 100644 --- a/ui/gfx/image/image_skia_util_mac.h +++ b/ui/gfx/image/image_skia_util_mac.h @@ -5,10 +5,11 @@ #ifndef UI_GFX_IMAGE_IMAGE_SKIA_UTIL_MAC_H_ #define UI_GFX_IMAGE_IMAGE_SKIA_UTIL_MAC_H_ +#include <ApplicationServices/ApplicationServices.h> + #include "ui/base/ui_export.h" #ifdef __LP64__ -#include <ApplicationServices/ApplicationServices.h> typedef CGSize NSSize; #else typedef struct _NSSize NSSize; @@ -37,6 +38,11 @@ UI_EXPORT gfx::ImageSkia ApplicationIconAtSize(int size); // Converts to NSImage from ImageSkia. UI_EXPORT NSImage* NSImageFromImageSkia(const gfx::ImageSkia& image_skia); +// Converts to NSImage from given ImageSkia and a color space. +UI_EXPORT NSImage* NSImageFromImageSkiaWithColorSpace( + const gfx::ImageSkia& image_skia, + CGColorSpaceRef color_space); + } // namespace gfx #endif // UI_GFX_IMAGE_IMAGE_SKIA_UTIL_MAC_H_ diff --git a/ui/gfx/image/image_skia_util_mac.mm b/ui/gfx/image/image_skia_util_mac.mm index 7fc9053..3b36325 100644 --- a/ui/gfx/image/image_skia_util_mac.mm +++ b/ui/gfx/image/image_skia_util_mac.mm @@ -102,4 +102,24 @@ NSImage* NSImageFromImageSkia(const gfx::ImageSkia& image_skia) { return [image.release() autorelease]; } +NSImage* NSImageFromImageSkiaWithColorSpace(const gfx::ImageSkia& image_skia, + CGColorSpaceRef color_space) { + if (image_skia.empty()) + return nil; + + scoped_nsobject<NSImage> image([[NSImage alloc] init]); + + const std::vector<gfx::ImageSkiaRep>& image_reps = + image_skia.GetRepresentations(); + for (std::vector<gfx::ImageSkiaRep>::const_iterator it = image_reps.begin(); + it != image_reps.end(); ++it) { + [image addRepresentation: + gfx::SkBitmapToNSBitmapImageRepWithColorSpace(it->sk_bitmap(), + color_space)]; + } + + [image setSize:NSMakeSize(image_skia.width(), image_skia.height())]; + return [image.release() autorelease]; +} + } // namespace gfx |