lib/gif/src/decode/model.zig

daab053ee43316e1809a84551d573ddd1e5bf3d2

 1 pub const signature = [4]u8{ 'G', 'I', 'F', '8' };
 2 
 3 pub const DecodeError = error{
 4     InvalidSignature,
 5     InvalidDescriptor,
 6     MissingColorTable,
 7     TruncatedInput,
 8     NoFrames,
 9 };
10 
11 pub const Exhaustion = error{
12     CanvasPixelCapacityExceeded,
13     FramePixelCapacityExceeded,
14     FrameCapacityExceeded,
15     CompressedByteCapacityExceeded,
16     RetainedRgba8CapacityExceeded,
17     DecodeStorageInUse,
18     DecodeInputMismatch,
19 };
20 
21 pub const Frame = struct {
22     rgba8: []u8,
23     delay_cs: u16,
24 };
25 
26 pub const Animation = struct {
27     width: u32,
28     height: u32,
29     frames: []Frame,
30     loop_count: ?u16,
31 };
32 
33 pub const Disposal = enum(u3) {
34     unspecified = 0,
35     keep = 1,
36     background = 2,
37     previous = 3,
38     _,
39 };
40 
41 pub const Control = struct {
42     disposal: Disposal = .unspecified,
43     delay_cs: u16 = 0,
44     transparent_index: ?u8 = null,
45 };