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
77
78
|
/*
* PARSEC HEADER: img_api.h
*/
#ifndef _IMG_API_H_
#define _IMG_API_H_
// buffer formats
enum buffer_formats {
BUFFERFORMAT_INVALID = 0x0000,
BUFFERFORMAT_INDEXED = 0x0001,
BUFFERFORMAT_RGB_332 = 0x0002,
BUFFERFORMAT_ALPHA_8 = 0x0003,
BUFFERFORMAT_INTENSITY_8 = 0x0004,
BUFFERFORMAT_RGB_555 = 0x0005,
BUFFERFORMAT_RGB_565 = 0x0006,
BUFFERFORMAT_ARGB_1555 = 0x0007,
BUFFERFORMAT_ARGB_4444 = 0x0008,
BUFFERFORMAT_AP_88 = 0x0009,
BUFFERFORMAT_AI_88 = 0x000a,
BUFFERFORMAT_RGB_888 = 0x000b,
BUFFERFORMAT_ARGB_8888 = 0x000c,
BUFFERFORMAT_BASE_MASK = 0x00ff,
BUFFERFORMAT_VGA_PAL = 0x0100,
BUFFERFORMAT_RGB_PAL = 0x0200,
BUFFERFORMAT_RGBA_PAL = 0x0400,
BUFFERFORMAT_PREFIX_PAL = 0x1000,
BUFFERFORMAT_POSTFIX_PAL = 0x2000
};
// recognized image formats
enum image_formats {
IMAGEFORMAT_INVALID,
IMAGEFORMAT_RAW,
IMAGEFORMAT_TGA,
IMAGEFORMAT_3DF,
IMAGEFORMAT_PCX,
IMAGEFORMAT_BMP,
IMAGEFORMAT_JPG,
IMAGEFORMAT_PNG
};
// generic image info
struct img_info_s {
int format;
int width;
int height;
size_t buffsize;
int userinfo[ 4 ];
};
// external functions
int IMG_DetermineFormat( char *fname );
int IMG_BufferPixelSize( int format );
int IMG_CopyConvertBuffer( char *dstbuff, int dstfmt, char *srcbuff, int srcfmt, size_t bsiz );
int IMG_SaveBuffer( const char *filename, char *buff, img_info_s *info );
int IMG_LoadTexture( char *fname, int insertindex, char *loaderparams, texfont_s *texfont );
#endif // _IMG_API_H_
|