Changeset 3478 for libcaca/trunk/caca/codec/export.c
- Timestamp:
- May 19, 2009, 2:46:34 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/caca/codec/export.c
r3451 r3478 163 163 { 164 164 char *data, *cur; 165 int f, n;166 167 /* 52 bytes for the header:165 int f, i, n; 166 167 /* at least 72 bytes for the header: 168 168 * - 4 bytes for "\xCA\xCA" + "CV" 169 * - 16 bytes for the canvas header 170 * - 32 bytes for the frame info 169 * - 20 bytes for the canvas header 170 * - 16 bytes for each dirty rectangle info 171 * - 32 bytes for each frame info 171 172 * 8 bytes for each character cell */ 172 *bytes = 2 0+ (32 + 8 * cv->width * cv->height) * cv->framecount;173 *bytes = 24 + 16 * cv->ndirty + (32 + 8 * cv->width * cv->height) * cv->framecount; 173 174 cur = data = malloc(*bytes); 174 175 … … 177 178 178 179 /* canvas_header */ 179 cur += sprintu32(cur, 16+ 32 * cv->framecount);180 cur += sprintu32(cur, 20 + 16 * cv->ndirty + 32 * cv->framecount); 180 181 cur += sprintu32(cur, cv->width * cv->height * 8 * cv->framecount); 181 cur += sprintu16(cur, 0x0001); 182 cur += sprintu16(cur, 0x0002); 183 cur += sprintu32(cur, cv->ndirty); 182 184 cur += sprintu32(cur, cv->framecount); 183 185 cur += sprintu16(cur, 0x0000); 186 187 /* dirty rectangles info */ 188 for(i = 0; i < cv->ndirty; i++) 189 { 190 cur += sprintu32(cur, cv->dirty_xmin); 191 cur += sprintu32(cur, cv->dirty_ymin); 192 cur += sprintu32(cur, cv->dirty_xmax); 193 cur += sprintu32(cur, cv->dirty_ymax); 194 } 184 195 185 196 /* frame_info */
Note: See TracChangeset
for help on using the changeset viewer.