Updating Xamarin/Microsoft file headers
[platform/upstream/libSkiaSharp.git] / src / c / sk_document.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 "SkDocument.h"
11
12 #include "sk_document.h"
13
14 #include "sk_types_priv.h"
15
16 void sk_document_unref(sk_document_t* document) {
17     SkSafeUnref(AsDocument(document));
18 }
19
20 sk_document_t* sk_document_create_pdf_from_stream(sk_wstream_t* stream, float dpi) {
21     return ToDocument(SkDocument::MakePDF(AsWStream(stream), dpi).release());
22 }
23
24 sk_document_t* sk_document_create_pdf_from_stream_with_metadata(sk_wstream_t* stream, float dpi, const sk_document_pdf_metadata_t* cmetadata) {
25     SkDocument::PDFMetadata metadata;
26     from_c(*cmetadata, &metadata);
27     return ToDocument(SkDocument::MakePDF(AsWStream(stream), dpi, metadata, nullptr, false).release());
28 }
29
30 sk_document_t* sk_document_create_pdf_from_filename(const char* path, float dpi) {
31     return ToDocument(SkDocument::MakePDF(path, dpi).release());
32 }
33
34 sk_document_t* sk_document_create_xps_from_stream(sk_wstream_t* stream, float dpi) {
35     return ToDocument(SkDocument::MakeXPS(AsWStream(stream), dpi).release());
36 }
37
38 sk_canvas_t* sk_document_begin_page(sk_document_t* document, float width, float height, const sk_rect_t* content) {
39     return ToCanvas(AsDocument(document)->beginPage(width, height, AsRect(content)));
40 }
41
42 void sk_document_end_page(sk_document_t* document) {
43     AsDocument(document)->endPage();
44 }
45
46 void sk_document_close(sk_document_t* document) {
47     AsDocument(document)->close();
48 }
49
50 void sk_document_abort(sk_document_t* document) {
51     AsDocument(document)->abort();
52 }