Updating Xamarin/Microsoft file headers
[platform/upstream/libSkiaSharp.git] / src / c / sk_picture.cpp
1 /*
2  * Copyright 2014 Google Inc.
3  * Copyright 2015 Xamarin Inc.
4  * Copyright 2017 Microsoft Corporation. All rights reserved.
5  *
6  * Use of this source code is governed by a BSD-style license that can be
7  * found in the LICENSE file.
8  */
9
10 #include "SkPicture.h"
11 #include "SkPictureRecorder.h"
12
13 #include "sk_picture.h"
14
15 #include "sk_types_priv.h"
16
17 sk_picture_recorder_t* sk_picture_recorder_new() {
18     return ToPictureRecorder(new SkPictureRecorder);
19 }
20
21 void sk_picture_recorder_delete(sk_picture_recorder_t* crec) {
22     delete AsPictureRecorder(crec);
23 }
24
25 sk_canvas_t* sk_picture_recorder_begin_recording(sk_picture_recorder_t* crec,
26                                                  const sk_rect_t* cbounds) {
27     return ToCanvas(AsPictureRecorder(crec)->beginRecording(AsRect(*cbounds)));
28 }
29
30 sk_picture_t* sk_picture_recorder_end_recording(sk_picture_recorder_t* crec) {
31     return ToPicture(AsPictureRecorder(crec)->finishRecordingAsPicture().release());
32 }
33
34 sk_canvas_t* sk_picture_get_recording_canvas(sk_picture_recorder_t* crec) {
35     return ToCanvas(AsPictureRecorder(crec)->getRecordingCanvas());
36 }
37
38 void sk_picture_ref(sk_picture_t* cpic) {
39     SkSafeRef(AsPicture(cpic));
40 }
41
42 void sk_picture_unref(sk_picture_t* cpic) {
43     SkSafeUnref(AsPicture(cpic));
44 }
45
46 uint32_t sk_picture_get_unique_id(sk_picture_t* cpic) {
47     return AsPicture(cpic)->uniqueID();
48 }
49
50 void sk_picture_get_cull_rect(sk_picture_t* cpic, sk_rect_t* crect) {
51     if (crect) {
52         *crect = ToRect(AsPicture(cpic)->cullRect());
53     }
54 }