summaryrefslogtreecommitdiffstats
path: root/skia
diff options
context:
space:
mode:
Diffstat (limited to 'skia')
-rw-r--r--skia/ext/skia_utils_mac.h8
-rw-r--r--skia/ext/skia_utils_mac.mm12
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);