summaryrefslogtreecommitdiff
path: root/vapi/libwebpdemux.vapi
blob: 7612b42784a02e19de8a977022cad91655b72c6f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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);
    }
}