-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathenum.h
76 lines (71 loc) · 2.04 KB
/
enum.h
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#define PLUM_MODE_FILENAME ((size_t) -1)
#define PLUM_MODE_BUFFER ((size_t) -2)
#define PLUM_MODE_CALLBACK ((size_t) -3)
#define PLUM_MAX_MEMORY_SIZE ((size_t) -4)
/* flags: not an enum (must be unsigned long) */
/* color formats */
#define PLUM_COLOR_32 0ul /* RGBA 8.8.8.8 */
#define PLUM_COLOR_64 1ul /* RGBA 16.16.16.16 */
#define PLUM_COLOR_16 2ul /* RGBA 5.5.5.1 */
#define PLUM_COLOR_32X 3ul /* RGBA 10.10.10.2 */
#define PLUM_COLOR_MASK 3ul
#define PLUM_ALPHA_INVERT 4ul
/* palettes */
#define PLUM_PALETTE_NONE 0ul
#define PLUM_PALETTE_LOAD 0x200ul
#define PLUM_PALETTE_GENERATE 0x400ul
#define PLUM_PALETTE_FORCE 0x600ul
#define PLUM_PALETTE_MASK 0x600ul
/* palette sorting */
#define PLUM_SORT_LIGHT_FIRST 0ul
#define PLUM_SORT_DARK_FIRST 0x800ul
/* other bit flags */
#define PLUM_ALPHA_REMOVE 0x100ul
#define PLUM_SORT_EXISTING 0x1000ul
#define PLUM_PALETTE_REDUCE 0x2000ul
enum plum_image_types {
PLUM_IMAGE_NONE,
PLUM_IMAGE_BMP,
PLUM_IMAGE_GIF,
PLUM_IMAGE_PNG,
PLUM_IMAGE_APNG,
PLUM_IMAGE_JPEG,
PLUM_IMAGE_PNM,
PLUM_IMAGE_QOI,
PLUM_NUM_IMAGE_TYPES
};
enum plum_metadata_types {
PLUM_METADATA_NONE,
PLUM_METADATA_COLOR_DEPTH,
PLUM_METADATA_BACKGROUND,
PLUM_METADATA_LOOP_COUNT,
PLUM_METADATA_FRAME_DURATION,
PLUM_METADATA_FRAME_DISPOSAL,
PLUM_METADATA_FRAME_AREA,
PLUM_NUM_METADATA_TYPES
};
enum plum_frame_disposal_methods {
PLUM_DISPOSAL_NONE,
PLUM_DISPOSAL_BACKGROUND,
PLUM_DISPOSAL_PREVIOUS,
PLUM_DISPOSAL_REPLACE,
PLUM_DISPOSAL_BACKGROUND_REPLACE,
PLUM_DISPOSAL_PREVIOUS_REPLACE,
PLUM_NUM_DISPOSAL_METHODS
};
enum plum_errors {
PLUM_OK,
PLUM_ERR_INVALID_ARGUMENTS,
PLUM_ERR_INVALID_FILE_FORMAT,
PLUM_ERR_INVALID_METADATA,
PLUM_ERR_INVALID_COLOR_INDEX,
PLUM_ERR_TOO_MANY_COLORS,
PLUM_ERR_UNDEFINED_PALETTE,
PLUM_ERR_IMAGE_TOO_LARGE,
PLUM_ERR_NO_DATA,
PLUM_ERR_NO_MULTI_FRAME,
PLUM_ERR_FILE_INACCESSIBLE,
PLUM_ERR_FILE_ERROR,
PLUM_ERR_OUT_OF_MEMORY,
PLUM_NUM_ERRORS
};