• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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