1 /* 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 23 typedef struct skc_context * skc_context_t; 24 typedef struct skc_path_builder * skc_path_builder_t; 25 typedef struct skc_raster_builder * skc_raster_builder_t; 26 27 typedef struct skc_composition * skc_composition_t; 28 typedef struct skc_styling * skc_styling_t; 29 30 typedef struct skc_surface * skc_surface_t; 31 32 typedef uint32_t skc_path_t; 33 typedef uint32_t skc_raster_t; 34 35 typedef uint32_t skc_layer_id; 36 typedef uint32_t skc_group_id; 37 38 typedef uint32_t skc_styling_cmd_t; 39 40 typedef uint64_t skc_weakref_t; 41 typedef skc_weakref_t skc_transform_weakref_t; 42 typedef skc_weakref_t skc_raster_clip_weakref_t; 43 44 typedef void * skc_framebuffer_t; 45 46 // 47 // 48 // 49 50 #define SKC_PATH_INVALID UINT32_MAX 51 #define SKC_RASTER_INVALID UINT32_MAX 52 #define SKC_WEAKREF_INVALID UINT64_MAX 53 54 // 55 // TRANSFORM LAYOUT: { sx shx tx shy sy ty w0 w1 } 56 // 57 58 // 59 // RASTER CLIP LAYOUT: { x0, y0, x1, y1 } 60 // 61 62 #endif 63 64 // 65 // 66 // 67