OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 // EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL | 8 // EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL |
9 // DO NOT USE -- FOR INTERNAL TESTING ONLY | 9 // DO NOT USE -- FOR INTERNAL TESTING ONLY |
10 | 10 |
11 #ifndef sk_picture_DEFINED | 11 #ifndef sk_picture_DEFINED |
12 #define sk_picture_DEFINED | 12 #define sk_picture_DEFINED |
13 | 13 |
14 #include "sk_types.h" | 14 #include "sk_types.h" |
15 | 15 |
16 SK_C_PLUS_PLUS_BEGIN_GUARD | 16 SK_C_PLUS_PLUS_BEGIN_GUARD |
17 | 17 |
| 18 /** |
| 19 Create a new sk_picture_recorder_t. Its resources should be |
| 20 released with a call to sk_picture_recorder_delete(). |
| 21 */ |
18 sk_picture_recorder_t* sk_picture_recorder_new(); | 22 sk_picture_recorder_t* sk_picture_recorder_new(); |
| 23 /** |
| 24 Release the memory and other resources used by this |
| 25 sk_picture_recorder_t. |
| 26 */ |
19 void sk_picture_recorder_delete(sk_picture_recorder_t*); | 27 void sk_picture_recorder_delete(sk_picture_recorder_t*); |
20 | 28 |
| 29 /** |
| 30 Returns the canvas that records the drawing commands |
| 31 |
| 32 @param sk_rect_t* the cull rect used when recording this |
| 33 picture. Any drawing the falls outside of this |
| 34 rect is undefined, and may be drawn or it may not. |
| 35 */ |
21 sk_canvas_t* sk_picture_recorder_begin_recording(sk_picture_recorder_t*, const s
k_rect_t*); | 36 sk_canvas_t* sk_picture_recorder_begin_recording(sk_picture_recorder_t*, const s
k_rect_t*); |
| 37 /** |
| 38 Signal that the caller is done recording. This invalidates the |
| 39 canvas returned by begin_recording. Ownership of the sk_picture_t |
| 40 is passed to the caller, who must call sk_picture_unref() when |
| 41 they are done using it. The returned picture is immutable. |
| 42 */ |
22 sk_picture_t* sk_picture_recorder_end_recording(sk_picture_recorder_t*); | 43 sk_picture_t* sk_picture_recorder_end_recording(sk_picture_recorder_t*); |
23 | 44 |
| 45 /** |
| 46 Increment the reference count on the given sk_picture_t. Must be |
| 47 balanced by a call to sk_picture_unref(). |
| 48 */ |
24 void sk_picture_ref(sk_picture_t*); | 49 void sk_picture_ref(sk_picture_t*); |
| 50 /** |
| 51 Decrement the reference count. If the reference count is 1 before |
| 52 the decrement, then release both the memory holding the |
| 53 sk_picture_t and any resouces it may be managing. New |
| 54 sk_picture_t are created with a reference count of 1. |
| 55 */ |
25 void sk_picture_unref(sk_picture_t*); | 56 void sk_picture_unref(sk_picture_t*); |
26 | 57 |
| 58 /** |
| 59 Returns a non-zero value unique among all pictures. |
| 60 */ |
27 uint32_t sk_picture_get_unique_id(sk_picture_t*); | 61 uint32_t sk_picture_get_unique_id(sk_picture_t*); |
| 62 |
| 63 /** |
| 64 Return the cull rect specified when this picture was recorded. |
| 65 */ |
28 sk_rect_t sk_picture_get_bounds(sk_picture_t*); | 66 sk_rect_t sk_picture_get_bounds(sk_picture_t*); |
29 | 67 |
30 SK_C_PLUS_PLUS_END_GUARD | 68 SK_C_PLUS_PLUS_END_GUARD |
31 | 69 |
32 #endif | 70 #endif |
OLD | NEW |