1// Copyright (c) 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 UI_GFX_IMAGE_IMAGE_SKIA_UTIL_MAC_H_
6#define UI_GFX_IMAGE_IMAGE_SKIA_UTIL_MAC_H_
7
8#include <ApplicationServices/ApplicationServices.h>
9
10#include "ui/gfx/gfx_export.h"
11
12#ifdef __LP64__
13typedef CGSize NSSize;
14#else
15typedef struct _NSSize NSSize;
16#endif
17
18#ifdef __OBJC__
19@class NSImage;
20#else
21class NSImage;
22#endif
23
24namespace gfx {
25class ImageSkia;
26
27// Converts to ImageSkia from NSImage.
28GFX_EXPORT gfx::ImageSkia ImageSkiaFromNSImage(NSImage* image);
29
30// Resizes NSImage to |size| DIP and then converts to ImageSkia.
31GFX_EXPORT gfx::ImageSkia ImageSkiaFromResizedNSImage(NSImage* image,
32                                                      NSSize size);
33
34// Converts to NSImage from ImageSkia.
35GFX_EXPORT NSImage* NSImageFromImageSkia(const gfx::ImageSkia& image_skia);
36
37// Converts to NSImage from given ImageSkia and a color space.
38GFX_EXPORT NSImage* NSImageFromImageSkiaWithColorSpace(
39    const gfx::ImageSkia& image_skia,
40    CGColorSpaceRef color_space);
41
42}  // namespace gfx
43
44#endif  // UI_GFX_IMAGE_IMAGE_SKIA_UTIL_MAC_H_
45