aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/c
diff options
context:
space:
mode:
authorGravatar reed <reed@chromium.org>2014-12-22 17:46:00 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2014-12-22 17:46:00 -0800
commite371989c92eba394ea048419debcb9febadae17b (patch)
tree20deb8b97f80dcdd84317644694ea63bdff7e1cb /include/c
parentf3c770b16025900e5185e1db2bafb58de7120b83 (diff)
add picture to c api
BUG=skia: TBR= Review URL: https://codereview.chromium.org/818153002
Diffstat (limited to 'include/c')
-rw-r--r--include/c/sk_canvas.h7
-rw-r--r--include/c/sk_picture.h32
-rw-r--r--include/c/sk_types.h7
3 files changed, 45 insertions, 1 deletions
diff --git a/include/c/sk_canvas.h b/include/c/sk_canvas.h
index 559ef959ac..9eb21f3a61 100644
--- a/include/c/sk_canvas.h
+++ b/include/c/sk_canvas.h
@@ -24,14 +24,19 @@ void sk_canvas_scale(sk_canvas_t*, float sx, float sy);
void sk_canvas_rotate_degrees(sk_canvas_t*, float degrees);
void sk_canvas_rotate_radians(sk_canvas_t*, float radians);
void sk_canvas_skew(sk_canvas_t*, float sx, float sy);
+void sk_canvas_concat(sk_canvas_t*, const sk_matrix_t*);
-void sk_canvas_concat_matrix(sk_canvas_t*, const sk_matrix_t*);
+void sk_canvas_clip_rect(sk_canvas_t*, const sk_rect_t*);
+void sk_canvas_clip_path(sk_canvas_t*, const sk_path_t*);
void sk_canvas_draw_paint(sk_canvas_t*, const sk_paint_t*);
void sk_canvas_draw_rect(sk_canvas_t*, const sk_rect_t*, const sk_paint_t*);
void sk_canvas_draw_oval(sk_canvas_t*, const sk_rect_t*, const sk_paint_t*);
void sk_canvas_draw_path(sk_canvas_t*, const sk_path_t*, const sk_paint_t*);
void sk_canvas_draw_image(sk_canvas_t*, const sk_image_t*, float x, float y, const sk_paint_t*);
+void sk_canvas_draw_image_rect(sk_canvas_t*, const sk_image_t*, const sk_rect_t* src,
+ const sk_rect_t* dst, const sk_paint_t*);
+void sk_canvas_draw_picture(sk_canvas_t*, const sk_picture_t*, const sk_matrix_t*, const sk_paint_t*);
SK_C_PLUS_PLUS_END_GUARD
diff --git a/include/c/sk_picture.h b/include/c/sk_picture.h
new file mode 100644
index 0000000000..f062d32e69
--- /dev/null
+++ b/include/c/sk_picture.h
@@ -0,0 +1,32 @@
+/*
+ * 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_picture_DEFINED
+#define sk_picture_DEFINED
+
+#include "sk_types.h"
+
+SK_C_PLUS_PLUS_BEGIN_GUARD
+
+sk_picture_recorder_t* sk_picture_recorder_new();
+void sk_picture_recorder_delete(sk_picture_recorder_t*);
+
+sk_canvas_t* sk_picture_recorder_begin_recording(sk_picture_recorder_t*, const sk_rect_t*);
+sk_picture_t* sk_picture_recorder_end_recording(sk_picture_recorder_t*);
+
+void sk_picture_ref(sk_picture_t*);
+void sk_picture_unref(sk_picture_t*);
+
+uint32_t sk_picture_get_unique_id(sk_picture_t*);
+sk_rect_t sk_picture_get_bounds(sk_picture_t*);
+
+SK_C_PLUS_PLUS_END_GUARD
+
+#endif
diff --git a/include/c/sk_types.h b/include/c/sk_types.h
index 4c6389689c..f5f4b578fc 100644
--- a/include/c/sk_types.h
+++ b/include/c/sk_types.h
@@ -48,6 +48,11 @@ typedef enum {
UNPREMUL_SK_ALPHATYPE,
} sk_alphatype_t;
+typedef enum {
+ INTERSECT_SK_CLIPTYPE,
+ DIFFERENCE_SK_CLIPTYPE,
+} sk_cliptype_t;
+
sk_colortype_t sk_colortype_get_default_8888();
typedef struct {
@@ -76,6 +81,8 @@ typedef struct {
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_picture_t sk_picture_t;
+typedef struct sk_picture_recorder_t sk_picture_recorder_t;
typedef struct sk_path_t sk_path_t;
typedef struct sk_shader_t sk_shader_t;
typedef struct sk_surface_t sk_surface_t;