diff options
Diffstat (limited to 'vapi/libwebpdemux.vapi')
-rw-r--r-- | vapi/libwebpdemux.vapi | 43 |
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); + } +} |