blob: 0dbcf182bf29d299ea94012763f8c099e92384d2 [file] [log] [blame]
Allan MacKinnonc110e792018-06-21 09:09:56 -07001/*
2 * Copyright 2018 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can
5 * be found in the LICENSE file.
6 *
7 */
8
9#ifndef SKC_ONCE_SKC_TYPES
10#define SKC_ONCE_SKC_TYPES
11
12//
13//
14//
15
16#include <stdint.h>
17#include <stdbool.h>
18
19//
20//
21//
22
23typedef struct skc_context * skc_context_t;
24typedef struct skc_path_builder * skc_path_builder_t;
25typedef struct skc_raster_builder * skc_raster_builder_t;
26
27typedef struct skc_composition * skc_composition_t;
28typedef struct skc_styling * skc_styling_t;
29
30typedef struct skc_surface * skc_surface_t;
31
32typedef uint32_t skc_path_t;
33typedef uint32_t skc_raster_t;
34
35typedef uint32_t skc_layer_id;
36typedef uint32_t skc_group_id;
37
38typedef uint32_t skc_styling_cmd_t;
39
40typedef uint64_t skc_weakref_t;
41typedef skc_weakref_t skc_transform_weakref_t;
42typedef skc_weakref_t skc_raster_clip_weakref_t;
43
44#if 0
45typedef struct skc_interop * skc_interop_t;
46typedef uint32_t skc_interop_surface_t;
47#endif
48
49//
50//
51//
52
53#define SKC_PATH_INVALID UINT32_MAX
54#define SKC_RASTER_INVALID UINT32_MAX
55#define SKC_WEAKREF_INVALID UINT64_MAX
56
57//
58// TRANSFORM LAYOUT: { sx shx tx shy sy ty w0 w1 }
59//
60
61//
62// RASTER CLIP LAYOUT: { x0, y0, x1, y1 }
63//
64
65//
66//
67//
68
69#endif
70
71//
72//
73//