summaryrefslogtreecommitdiffstats
path: root/ui/gfx/image/image_skia_util_mac.h
blob: 1a4427da89f78b1bd1f120f46850f820eb321720 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_GFX_IMAGE_IMAGE_SKIA_UTIL_MAC_H_
#define UI_GFX_IMAGE_IMAGE_SKIA_UTIL_MAC_H_

#include <ApplicationServices/ApplicationServices.h>

#include "ui/base/ui_export.h"

#ifdef __LP64__
typedef CGSize NSSize;
#else
typedef struct _NSSize NSSize;
#endif

#ifdef __OBJC__
@class NSImage;
#else
class NSImage;
#endif

namespace gfx {
class ImageSkia;

// Converts to ImageSkia from NSImage.
UI_EXPORT gfx::ImageSkia ImageSkiaFromNSImage(NSImage* image);

// Resizes NSImage to |size| DIP and then converts to ImageSkia.
UI_EXPORT gfx::ImageSkia ImageSkiaFromResizedNSImage(NSImage* image,
                                                     NSSize size);

// Resizes |[NSImage imageNamed:@NSApplicationIcon]| to have edge width of
// |size| DIP and returns result as ImageSkia.
UI_EXPORT gfx::ImageSkia ApplicationIconAtSize(int size);

// Converts to NSImage from ImageSkia.
UI_EXPORT NSImage* NSImageFromImageSkia(const gfx::ImageSkia& image_skia);

// Converts to NSImage from given ImageSkia and a color space.
UI_EXPORT NSImage* NSImageFromImageSkiaWithColorSpace(
    const gfx::ImageSkia& image_skia,
    CGColorSpaceRef color_space);

}  // namespace gfx

#endif  // UI_GFX_IMAGE_IMAGE_SKIA_UTIL_MAC_H_