summaryrefslogtreecommitdiff
path: root/vapi/libwebpdemux.vapi
diff options
context:
space:
mode:
Diffstat (limited to 'vapi/libwebpdemux.vapi')
-rw-r--r--vapi/libwebpdemux.vapi43
1 files changed, 43 insertions, 0 deletions
diff --git a/vapi/libwebpdemux.vapi b/vapi/libwebpdemux.vapi
new file mode 100644
index 0000000..7612b42
--- /dev/null
+++ b/vapi/libwebpdemux.vapi
@@ -0,0 +1,43 @@
+namespace WebP {
+ [CCode (has_type_id = false)]
+ public struct Data {
+ [CCode (array_length_cname = "size")]
+ public unowned uint8[] bytes;
+
+ public size_t size;
+
+ [CCode (cname = "WebPDataClear")]
+ public void clear();
+ }
+
+ [CCode (cprefix = "WEBP_DEMUX_", cname = "WebPDemuxState")]
+ public enum ParsingState {
+ PARSE_ERROR,
+ PARSING_HEADER,
+ PARSED_HEADER,
+ DONE
+ }
+
+ [CCode (cprefix = "WEBP_FF_")]
+ public enum FormatFeature {
+ FORMAT_FLAGS,
+ CANVAS_WIDTH,
+ CANVAS_HEIGHT,
+ LOOP_COUNT,
+ BACKGROUND_COLOR,
+ FRAME_COUNT
+ }
+
+ [Compact]
+ [CCode (free_function = "WebPDemuxDelete", cname = "WebPDemuxer", cheader_filename = "webp/demux.h", has_type_id = false)]
+ public class Demuxer {
+ [CCode (cname="WebPDemux")]
+ public Demuxer(Data data);
+
+ [CCode (cname="WebPDemuxPartial")]
+ public Demuxer.partial(Data data, out ParsingState state);
+
+ [CCode (cname="WebPDemuxGetI")]
+ public uint32 get(FormatFeature feature);
+ }
+}