Update change log.
[platform/upstream/cairo.git] / boilerplate / cairo-boilerplate-skia.c
1
2 #include "cairo-boilerplate-private.h"
3
4 #include <cairo-skia.h>
5
6 static cairo_surface_t *
7 _cairo_boilerplate_skia_create_surface (const char                *name,
8                                         cairo_content_t            content,
9                                         double                     width,
10                                         double                     height,
11                                         double                     max_width,
12                                         double                     max_height,
13                                         cairo_boilerplate_mode_t   mode,
14                                         void                     **closure)
15 {
16     cairo_format_t format;
17
18     *closure = NULL;
19
20     if (content == CAIRO_CONTENT_COLOR_ALPHA) {
21         format = CAIRO_FORMAT_ARGB32;
22     } else if (content == CAIRO_CONTENT_COLOR) {
23         format = CAIRO_FORMAT_RGB24;
24     } else {
25         return NULL;
26     }
27
28     return cairo_skia_surface_create (format, width, height);
29 }
30
31 static const cairo_boilerplate_target_t targets[] = {
32     {
33         "skia", "skia", NULL, NULL,
34         CAIRO_SURFACE_TYPE_SKIA, CAIRO_CONTENT_COLOR_ALPHA, 0,
35         "cairo_skia_surface_create",
36         _cairo_boilerplate_skia_create_surface,
37         cairo_surface_create_similar,
38         NULL, NULL,
39         _cairo_boilerplate_get_image_surface,
40         cairo_surface_write_to_png,
41         NULL, NULL, NULL, TRUE, FALSE, FALSE
42     },
43     {
44         "skia", "skia", NULL, NULL,
45         CAIRO_SURFACE_TYPE_SKIA, CAIRO_CONTENT_COLOR, 0,
46         "cairo_skia_surface_create",
47         _cairo_boilerplate_skia_create_surface,
48         cairo_surface_create_similar,
49         NULL, NULL,
50         _cairo_boilerplate_get_image_surface,
51         cairo_surface_write_to_png,
52         NULL, NULL, NULL, FALSE, FALSE, FALSE
53     },
54 };
55 CAIRO_BOILERPLATE (skia, targets)