1 // Copyright 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef SKIA_EXT_SKIA_UTILS_IOS_H_ 6 #define SKIA_EXT_SKIA_UTILS_IOS_H_ 7 8 #include <CoreGraphics/CoreGraphics.h> 9 #include <vector> 10 11 #include "third_party/skia/include/core/SkBitmap.h" 12 13 #ifdef __OBJC__ 14 @class UIImage; 15 @class NSData; 16 #else 17 class UIImage; 18 class NSData; 19 #endif 20 21 namespace gfx { 22 23 // Draws a CGImage into an SkBitmap of the given size. 24 SK_API SkBitmap CGImageToSkBitmap(CGImageRef image, 25 CGSize size, 26 bool is_opaque); 27 28 // Given an SkBitmap and a color space, return an autoreleased UIImage. 29 SK_API UIImage* SkBitmapToUIImageWithColorSpace(const SkBitmap& skia_bitmap, 30 CGFloat scale, 31 CGColorSpaceRef color_space); 32 33 // Decodes all image representations inside the data into a vector of SkBitmaps. 34 // Returns a vector of all the successfully decoded representations or an empty 35 // vector if none can be decoded. 36 SK_API std::vector<SkBitmap> ImageDataToSkBitmaps(NSData* image_data); 37 38 } // namespace gfx 39 40 #endif // SKIA_EXT_SKIA_UTILS_IOS_H_ 41