1 /*
2  * Copyright 2014 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 // EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL
9 // DO NOT USE -- FOR INTERNAL TESTING ONLY
10 
11 #ifndef sk_canvas_DEFINED
12 #define sk_canvas_DEFINED
13 
14 #include "sk_types.h"
15 
16 SK_C_PLUS_PLUS_BEGIN_GUARD
17 
18 void sk_canvas_save(sk_canvas_t*);
19 void sk_canvas_save_layer(sk_canvas_t*, const sk_rect_t*, const sk_paint_t*);
20 void sk_canvas_restore(sk_canvas_t*);
21 
22 void sk_canvas_translate(sk_canvas_t*, float dx, float dy);
23 void sk_canvas_scale(sk_canvas_t*, float sx, float sy);
24 void sk_canvas_rotate_degrees(sk_canvas_t*, float degrees);
25 void sk_canvas_rotate_radians(sk_canvas_t*, float radians);
26 void sk_canvas_skew(sk_canvas_t*, float sx, float sy);
27 void sk_canvas_concat(sk_canvas_t*, const sk_matrix_t*);
28 
29 void sk_canvas_clip_rect(sk_canvas_t*, const sk_rect_t*);
30 void sk_canvas_clip_path(sk_canvas_t*, const sk_path_t*);
31 
32 void sk_canvas_draw_paint(sk_canvas_t*, const sk_paint_t*);
33 void sk_canvas_draw_rect(sk_canvas_t*, const sk_rect_t*, const sk_paint_t*);
34 void sk_canvas_draw_oval(sk_canvas_t*, const sk_rect_t*, const sk_paint_t*);
35 void sk_canvas_draw_path(sk_canvas_t*, const sk_path_t*, const sk_paint_t*);
36 void sk_canvas_draw_image(sk_canvas_t*, const sk_image_t*, float x, float y, const sk_paint_t*);
37 void sk_canvas_draw_image_rect(sk_canvas_t*, const sk_image_t*, const sk_rect_t* src,
38                                const sk_rect_t* dst, const sk_paint_t*);
39 void sk_canvas_draw_picture(sk_canvas_t*, const sk_picture_t*, const sk_matrix_t*, const sk_paint_t*);
40 
41 SK_C_PLUS_PLUS_END_GUARD
42 
43 #endif
44