Updating Xamarin/Microsoft file headers
[platform/upstream/libSkiaSharp.git] / src / xamarin / sk_managedpixelserializer.cpp
1 /*
2  * Copyright 2015 Xamarin Inc.
3  * Copyright 2017 Microsoft Corporation. All rights reserved.
4  *
5  * Use of this source code is governed by a BSD-style license that can be
6  * found in the LICENSE file.
7  */
8
9 #include "SkManagedPixelSerializer.h"
10
11 #include "sk_managedpixelserializer.h"
12 #include "sk_types_priv.h"
13
14
15 static sk_managedpixelserializer_use_delegate    gUse;
16 static sk_managedpixelserializer_encode_delegate gEncode;
17
18
19 static inline sk_managedpixelserializer_t* ToManagedPixelSerializer(SkManagedPixelSerializer* cserializer) {
20     return reinterpret_cast<sk_managedpixelserializer_t*>(cserializer);
21 }
22
23
24 bool dUse(SkManagedPixelSerializer* cserializer, const void* data, size_t len)
25 {
26     return gUse(ToManagedPixelSerializer(cserializer), data, len);
27 }
28
29 SkData* dEncode(SkManagedPixelSerializer* cserializer, const SkPixmap& pixmap)
30 {
31     return AsData(gEncode(ToManagedPixelSerializer(cserializer), ToPixmap(&pixmap)));
32 }
33
34
35 sk_managedpixelserializer_t* sk_managedpixelserializer_new ()
36 {
37     return ToManagedPixelSerializer (new SkManagedPixelSerializer ());
38 }
39
40 void sk_managedpixelserializer_set_delegates (
41     const sk_managedpixelserializer_use_delegate pUse, 
42     const sk_managedpixelserializer_encode_delegate pEncode)
43 {
44     gUse = pUse;
45     gEncode = pEncode;
46
47     SkManagedPixelSerializer::setDelegates(dUse, dEncode);
48 }
49