Index: include/c/sk_picture.h |
diff --git a/include/c/sk_picture.h b/include/c/sk_picture.h |
index f062d32e6938e0cf1121e6e0f440487e293302e8..338b7d906ac8d75dfd8467bcd699e61806a7c8fc 100644 |
--- a/include/c/sk_picture.h |
+++ b/include/c/sk_picture.h |
@@ -15,16 +15,54 @@ |
SK_C_PLUS_PLUS_BEGIN_GUARD |
+/** |
+ Create a new sk_picture_recorder_t. Its resources should be |
+ released with a call to sk_picture_recorder_delete(). |
+*/ |
sk_picture_recorder_t* sk_picture_recorder_new(); |
+/** |
+ Release the memory and other resources used by this |
+ sk_picture_recorder_t. |
+*/ |
void sk_picture_recorder_delete(sk_picture_recorder_t*); |
+/** |
+ Returns the canvas that records the drawing commands |
+ |
+ @param sk_rect_t* the cull rect used when recording this |
+ picture. Any drawing the falls outside of this |
+ rect is undefined, and may be drawn or it may not. |
+*/ |
sk_canvas_t* sk_picture_recorder_begin_recording(sk_picture_recorder_t*, const sk_rect_t*); |
+/** |
+ Signal that the caller is done recording. This invalidates the |
+ canvas returned by begin_recording. Ownership of the sk_picture_t |
+ is passed to the caller, who must call sk_picture_unref() when |
+ they are done using it. The returned picture is immutable. |
+*/ |
sk_picture_t* sk_picture_recorder_end_recording(sk_picture_recorder_t*); |
+/** |
+ Increment the reference count on the given sk_picture_t. Must be |
+ balanced by a call to sk_picture_unref(). |
+*/ |
void sk_picture_ref(sk_picture_t*); |
+/** |
+ Decrement the reference count. If the reference count is 1 before |
+ the decrement, then release both the memory holding the |
+ sk_picture_t and any resouces it may be managing. New |
+ sk_picture_t are created with a reference count of 1. |
+*/ |
void sk_picture_unref(sk_picture_t*); |
+/** |
+ Returns a non-zero value unique among all pictures. |
+ */ |
uint32_t sk_picture_get_unique_id(sk_picture_t*); |
+ |
+/** |
+ Return the cull rect specified when this picture was recorded. |
+*/ |
sk_rect_t sk_picture_get_bounds(sk_picture_t*); |
SK_C_PLUS_PLUS_END_GUARD |