blob: db67edf6e52d3e85bf73b86c387b8aca3d3c6beb [file] [log] [blame]
#ifndef SkCGUtils_DEFINED
#define SkCGUtils_DEFINED
#include "SkTypes.h"
#ifdef SK_BUILD_FOR_MAC
#include <Carbon/Carbon.h>
#else
#include <CoreGraphics/CoreGraphics.h>
#endif
class SkBitmap;
/**
* Create an imageref from the specified bitmap using the specified colorspace.
* If space is NULL, then CGColorSpaceCreateDeviceRGB() is used.
*/
CGImageRef SkCreateCGImageRefWithColorspace(const SkBitmap& bm,
CGColorSpaceRef space);
/**
* Create an imageref from the specified bitmap using the colorspace returned
* by CGColorSpaceCreateDeviceRGB()
*/
static inline CGImageRef SkCreateCGImageRef(const SkBitmap& bm) {
return SkCreateCGImageRefWithColorspace(bm, NULL);
}
/**
* Draw the bitmap into the specified CG context. The bitmap will be converted
* to a CGImage using the generic RGB colorspace. (x,y) specifies the position
* of the top-left corner of the bitmap. The bitmap is converted using the
* colorspace returned by CGColorSpaceCreateDeviceRGB()
*/
void SkCGDrawBitmap(CGContextRef, const SkBitmap&, float x, float y);
#endif