+void QuartzLoader::load_(Image::Data &data)
+{
+ CGDataProviderRef dp = CGImageGetDataProvider(image);
+ CFDataRef image_data = CGDataProviderCopyData(dp);
+ data.pixels = new char[data.height*data.stride];
+ unsigned offset = (alpha==kCGImageAlphaNoneSkipFirst);
+ CFRange range = CFRangeMake(offset, CFDataGetLength(image_data)-offset);
+ CFDataGetBytes(image_data, range, reinterpret_cast<UInt8 *>(data.pixels));
+ CFRelease(image_data);
+
+ CFRelease(image);
+}
+