Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
cfx_gif.h
Go to the documentation of this file.
1// Copyright 2014 The PDFium Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7#ifndef CORE_FXCODEC_GIF_CFX_GIF_H_
8#define CORE_FXCODEC_GIF_CFX_GIF_H_
9
10#include <stdint.h>
11
12#include <memory>
13#include <vector>
14
15#include "core/fxcrt/data_vector.h"
16
17extern const char kGifSignature87[];
18extern const char kGifSignature89[];
19
20#define GIF_SIG_EXTENSION 0x21
21#define GIF_SIG_IMAGE 0x2C
22#define GIF_SIG_TRAILER 0x3B
23#define GIF_BLOCK_GCE 0xF9
24#define GIF_BLOCK_PTE 0x01
25#define GIF_BLOCK_CE 0xFE
26#define GIF_BLOCK_TERMINAL 0x00
27#define GIF_MAX_LZW_EXP 12
28#define GIF_MAX_LZW_CODE 4096
29#define GIF_D_STATUS_SIG 0x01
30#define GIF_D_STATUS_TAIL 0x02
31#define GIF_D_STATUS_EXT 0x03
32#define GIF_D_STATUS_EXT_CE 0x05
33#define GIF_D_STATUS_EXT_GCE 0x06
34#define GIF_D_STATUS_EXT_PTE 0x07
35#define GIF_D_STATUS_EXT_UNE 0x08
36#define GIF_D_STATUS_IMG_INFO 0x09
37#define GIF_D_STATUS_IMG_DATA 0x0A
38
39#pragma pack(1)
41 uint8_t pal_bits : 3;
42 uint8_t sort_flag : 1;
43 uint8_t color_resolution : 3;
44 uint8_t global_pal : 1;
45};
46
48 uint8_t pal_bits : 3;
49 uint8_t reserved : 2;
50 uint8_t sort_flag : 1;
51 uint8_t interlace : 1;
52 uint8_t local_pal : 1;
53};
54
56 char signature[6];
57};
58
66
68 uint16_t left;
69 uint16_t top;
70 uint16_t width;
71 uint16_t height;
73};
74
76 uint8_t transparency : 1;
77 uint8_t user_input : 1;
78 uint8_t disposal_method : 3;
79 uint8_t reserved : 3;
80};
81
88
90 uint8_t block_size;
91 uint16_t grid_left;
92 uint16_t grid_top;
93 uint16_t grid_width;
94 uint16_t grid_height;
95 uint8_t char_width;
96 uint8_t char_height;
97 uint8_t fc_index;
98 uint8_t bc_index;
99};
100
106
108 uint8_t r;
109 uint8_t g;
110 uint8_t b;
111};
112#pragma pack()
113
127
128#endif // CORE_FXCODEC_GIF_CFX_GIF_H_
const char kGifSignature87[]
Definition cfx_gif.cpp:9
const char kGifSignature89[]
Definition cfx_gif.cpp:10
uint8_t global_pal
Definition cfx_gif.h:44
uint8_t color_resolution
Definition cfx_gif.h:43
uint8_t sort_flag
Definition cfx_gif.h:42
uint8_t pal_bits
Definition cfx_gif.h:41
CFX_GifControlExtensionFlags gce_flags
Definition cfx_gif.h:84
char signature[6]
Definition cfx_gif.h:56
uint16_t height
Definition cfx_gif.h:71
uint16_t top
Definition cfx_gif.h:69
uint16_t left
Definition cfx_gif.h:68
uint16_t width
Definition cfx_gif.h:70
CFX_GifLocalFlags local_flags
Definition cfx_gif.h:72
uint8_t code_exp
Definition cfx_gif.h:123
std::unique_ptr< CFX_GifGraphicControlExtension > image_GCE
Definition cfx_gif.h:118
DataVector< uint8_t > row_buffer
Definition cfx_gif.h:120
uint32_t data_pos
Definition cfx_gif.h:124
CFX_GifImageInfo image_info
Definition cfx_gif.h:121
uint8_t local_palette_exp
Definition cfx_gif.h:122
std::vector< CFX_GifPalette > local_palettes
Definition cfx_gif.h:119
int32_t row_num
Definition cfx_gif.h:125
uint8_t reserved
Definition cfx_gif.h:49
uint8_t local_pal
Definition cfx_gif.h:52
uint8_t interlace
Definition cfx_gif.h:51
uint8_t sort_flag
Definition cfx_gif.h:50
uint8_t pal_bits
Definition cfx_gif.h:48
CFX_GifGlobalFlags global_flags
Definition cfx_gif.h:62
uint8_t r
Definition cfx_gif.h:108
uint8_t g
Definition cfx_gif.h:109
uint8_t b
Definition cfx_gif.h:110
uint8_t app_authentication[3]
Definition cfx_gif.h:104
uint8_t app_identify[8]
Definition cfx_gif.h:103