aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/c/sk_surface.h
blob: f3c17d075d542244978b230181cfb665c0aa8721 (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
/*
 * Copyright 2014 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

// EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL
// DO NOT USE -- FOR INTERNAL TESTING ONLY

#ifndef sk_surface_DEFINED
#define sk_surface_DEFINED

#include "sk_types.h"

SK_C_PLUS_PLUS_BEGIN_GUARD

SK_API sk_surface_t* sk_surface_new_raster(const sk_imageinfo_t*, const sk_surfaceprops_t*);
SK_API sk_surface_t* sk_surface_new_raster_direct(const sk_imageinfo_t*,
                                                  void* pixels, size_t rowBytes,
                                                  const sk_surfaceprops_t* props);
SK_API void sk_surface_unref(sk_surface_t*);

/**
 *  Return the canvas associated with this surface. Note: the canvas is owned by the surface,
 *  so the returned object is only valid while the owning surface is valid.
 */
SK_API sk_canvas_t* sk_surface_get_canvas(sk_surface_t*);

/**
 *  Call sk_image_unref() when the returned image is no longer used.
 */
SK_API sk_image_t* sk_surface_new_image_snapshot(sk_surface_t*);

SK_C_PLUS_PLUS_END_GUARD

#endif