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); } }