Home | History | Annotate | Download | only in ext
      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