1libcaca-canvas(3caca) libcaca libcaca-canvas(3caca)
2
3
4
6 libcaca-canvas - The libcaca canvas format (version 1) All types are
7 big endian.
8
9 struct
10 {
11 magic:
12 uint8_t caca_header[2]; // ""
13 uint8_t caca_file_type[2]; // "CV"
14
15 canvas_header:
16 uint32_t control_size; // Control size (canvas_data - canvas_header)
17 uint32_t data_size; // Data size (EOF - canvas_data)
18
19 uint16_t version; // Canvas format version
20 // bit 0: set to 1 if canvas is compatible
21 // with version 1 of the format
22 // bits 1-15: unused yet, must be 0
23
24 uint32_t frames; // Frame count
25
26 uint16_t flags; // Feature flags
27 // bits 0-15: unused yet, must be 0
28
29 frame_info:
30 struct
31 {
32 uint32_t width; // Frame width
33 uint32_t height; // Frame height
34 uint32_t duration; // Frame duration in milliseconds, 0 to
35 // not specify a duration
36 uint32_t attr; // Graphics context attribute
37 int32_t cursor_x; // Cursor X coordinate
38 int32_t cursor_y; // Cursor Y coordinate
39 int32_t handle_x; // Handle X coordinate
40 int32_t handle_y; // Handle Y coordinate
41 }
42 frame_list[frames];
43
44 control_extension_1:
45 control_extension_2:
46 ...
47 control_extension_N:
48 ... // reserved for future use
49
50 canvas_data:
51 uint8_t data[data_size]; // canvas data
52
53 data_extension_1:
54 data_extension_2:
55 ...
56 data_extension_N:
57 ... // reserved for future use
58 };
59
60Version 0.99.beta20 Mon Mar 14 2022 libcaca-canvas(3caca)