diff options
Diffstat (limited to 'skia')
-rw-r--r-- | skia/ext/skia_utils_mac.h | 8 | ||||
-rw-r--r-- | skia/ext/skia_utils_mac.mm | 12 |
2 files changed, 17 insertions, 3 deletions
diff --git a/skia/ext/skia_utils_mac.h b/skia/ext/skia_utils_mac.h index 9a1636e..0551643 100644 --- a/skia/ext/skia_utils_mac.h +++ b/skia/ext/skia_utils_mac.h @@ -64,7 +64,13 @@ SkBitmap CGImageToSkBitmap(CGImageRef image); // Draws an NSImage with a given size into a SkBitmap. SkBitmap NSImageToSkBitmap(NSImage* image, NSSize size, bool is_opaque); -// Given an SkBitmap, return an autoreleased NSImage. +// Given an SkBitmap and a color space, return an autoreleased NSImage. +NSImage* SkBitmapToNSImageWithColorSpace(const SkBitmap& icon, + CGColorSpaceRef colorSpace); + +// Given an SkBitmap, return an autoreleased NSImage in the generic color space. +// DEPRECATED, use SkBitmapToNSImageWithColorSpace() instead. +// TODO(thakis): Remove this -- http://crbug.com/69432 NSImage* SkBitmapToNSImage(const SkBitmap& icon); // Returns |[NSImage imageNamed:@"NSApplicationIcon"]| as SkBitmap. diff --git a/skia/ext/skia_utils_mac.mm b/skia/ext/skia_utils_mac.mm index f52709b..171d329 100644 --- a/skia/ext/skia_utils_mac.mm +++ b/skia/ext/skia_utils_mac.mm @@ -167,12 +167,14 @@ SkBitmap NSImageToSkBitmap(NSImage* image, NSSize size, bool is_opaque) { return bitmap; } -NSImage* SkBitmapToNSImage(const SkBitmap& skiaBitmap) { +NSImage* SkBitmapToNSImageWithColorSpace(const SkBitmap& skiaBitmap, + CGColorSpaceRef colorSpace) { if (skiaBitmap.isNull()) return nil; // First convert SkBitmap to CGImageRef. - CGImageRef cgimage = SkCreateCGImageRef(skiaBitmap); + CGImageRef cgimage = + SkCreateCGImageRefWithColorspace(skiaBitmap, colorSpace); // Now convert to NSImage. NSBitmapImageRep* bitmap = [[[NSBitmapImageRep alloc] @@ -184,6 +186,12 @@ NSImage* SkBitmapToNSImage(const SkBitmap& skiaBitmap) { return image; } +NSImage* SkBitmapToNSImage(const SkBitmap& skiaBitmap) { + base::mac::ScopedCFTypeRef<CGColorSpaceRef> colorSpace( + CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB)); + return SkBitmapToNSImageWithColorSpace(skiaBitmap, colorSpace.get()); +} + SkBitmap AppplicationIconAtSize(int size) { NSImage* image = [NSImage imageNamed:@"NSApplicationIcon"]; return NSImageToSkBitmap(image, NSMakeSize(size, size), /* is_opaque=*/true); |