diff options
Diffstat (limited to 'include/c/sk_types.h')
-rw-r--r-- | include/c/sk_types.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/include/c/sk_types.h b/include/c/sk_types.h new file mode 100644 index 0000000000..71ce219c01 --- /dev/null +++ b/include/c/sk_types.h @@ -0,0 +1,82 @@ +/* + * 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_types_DEFINED +#define sk_types_DEFINED + +#include <stdint.h> +#include <stddef.h> + +#ifdef __cplusplus + #define SK_C_PLUS_PLUS_BEGIN_GUARD extern "C" { + #define SK_C_PLUS_PLUS_END_GUARD } +#else + #include <stdbool.h> + #define SK_C_PLUS_PLUS_BEGIN_GUARD + #define SK_C_PLUS_PLUS_END_GUARD +#endif + +/////////////////////////////////////////////////////////////////////////////////////// + +SK_C_PLUS_PLUS_BEGIN_GUARD + +typedef uint32_t sk_color_t; + +#define sk_color_set_argb(a, r, g, b) (((a) << 24) | ((r) << 16) | ((g) << 8) | (b)) +#define sk_color_get_a(c) (((c) >> 24) & 0xFF) +#define sk_color_get_r(c) (((c) >> 16) & 0xFF) +#define sk_color_get_g(c) (((c) >> 8) & 0xFF) +#define sk_color_get_b(c) (((c) >> 0) & 0xFF) + +typedef enum { + UNKNOWN_SK_COLORTYPE, + RGBA_8888_SK_COLORTYPE, + BGRA_8888_SK_COLORTYPE, + ALPHA_8_SK_COLORTYPE, +} sk_colortype_t; + +typedef enum { + OPAQUE_SK_ALPHATYPE, + PREMUL_SK_ALPHATYPE, + UNPREMUL_SK_ALPHATYPE, +} sk_alphatype_t; + +sk_colortype_t sk_colortype_get_default_8888(); + +typedef struct { + int32_t width; + int32_t height; + sk_colortype_t colorType; + sk_alphatype_t alphaType; +} sk_imageinfo_t; + +typedef struct { + float left; + float top; + float right; + float bottom; +} sk_rect_t; + +typedef struct sk_canvas_t sk_canvas_t; +typedef struct sk_image_t sk_image_t; +typedef struct sk_paint_t sk_paint_t; +typedef struct sk_path_t sk_path_t; +typedef struct sk_surface_t sk_surface_t; + +////////////////////////////////////////////////////////////////////////////////////////// + +#ifdef __cplusplus + class SkCanvas; + void sk_test_capi(SkCanvas*); +#endif + +SK_C_PLUS_PLUS_END_GUARD + +#endif |