diff options
author | chase@chromium.org <chase@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-03 04:17:02 +0000 |
---|---|---|
committer | chase@chromium.org <chase@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-03 04:17:02 +0000 |
commit | 695041b3034cdf4535481488883a584f33b7e14b (patch) | |
tree | 3fe57614d2bbb06aa947e4e45c9a025659b3b4cb /skia | |
parent | 257f2c3867e73ba7cfc9cc61700b243c86ad68b4 (diff) | |
download | chromium_src-695041b3034cdf4535481488883a584f33b7e14b.zip chromium_src-695041b3034cdf4535481488883a584f33b7e14b.tar.gz chromium_src-695041b3034cdf4535481488883a584f33b7e14b.tar.bz2 |
Revert r76709 "Revert r71208 "Mac: Explicitly set the colorspace on SkBitmap -> CGImageRef ...""
There was no change to vm_rss_final_b in
mac-release-10.5/intl2, so reverting this change.
BUG=74775
TBR=thakis@chromium.org
Review URL: http://codereview.chromium.org/6609013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76712 0039d316-1c4b-4281-b951-d872f2087c98
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); |