Roll leveldb from r73 to r75.
[chromium-blink-merge.git] / skia / ext / skia_utils_ios.h
blob6a854ce6aff408543831fd2755cf163c2606d943
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.
5 #ifndef SKIA_EXT_SKIA_UTILS_IOS_H_
6 #define SKIA_EXT_SKIA_UTILS_IOS_H_
8 #include <CoreGraphics/CoreGraphics.h>
9 #include <vector>
11 #include "third_party/skia/include/core/SkBitmap.h"
13 #ifdef __OBJC__
14 @class UIImage;
15 @class NSData;
16 #else
17 class UIImage;
18 class NSData;
19 #endif
21 namespace gfx {
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);
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);
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);
38 } // namespace gfx
40 #endif // SKIA_EXT_SKIA_UTILS_IOS_H_