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 17class UIImage; 18class NSData; 19#endif 20 21namespace gfx { 22 23// Draws a CGImage into an SkBitmap of the given size. 24SK_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. 29SK_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. 36SK_API std::vector<SkBitmap> ImageDataToSkBitmaps(NSData* image_data); 37 38} // namespace gfx 39 40#endif // SKIA_EXT_SKIA_UTILS_IOS_H_ 41