Rev 8107 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
8107 | superturbo | 1 | #ifndef KOLIBRI_LIBIMG_H |
2 | #define KOLIBRI_LIBIMG_H |
||
3 | |||
8540 | superturbo | 4 | #include |
8107 | superturbo | 5 | extern int kolibri_libimg_init(void); |
6 | |||
7 | //list of format id's |
||
8 | #define LIBIMG_FORMAT_BMP 1 |
||
9 | #define LIBIMG_FORMAT_ICO 2 |
||
10 | #define LIBIMG_FORMAT_CUR 3 |
||
11 | #define LIBIMG_FORMAT_GIF 4 |
||
12 | #define LIBIMG_FORMAT_PNG 5 |
||
13 | #define LIBIMG_FORMAT_JPEG 6 |
||
14 | #define LIBIMG_FORMAT_TGA 7 |
||
15 | #define LIBIMG_FORMAT_PCX 8 |
||
16 | #define LIBIMG_FORMAT_XCF 9 |
||
17 | #define LIBIMG_FORMAT_TIFF 10 |
||
18 | #define LIBIMG_FORMAT_PNM 11 |
||
19 | #define LIBIMG_FORMAT_WBMP 12 |
||
20 | #define LIBIMG_FORMAT_XBM 13 |
||
21 | #define LIBIMG_FORMAT_Z80 14 |
||
22 | |||
8540 | superturbo | 23 | #define IMAGE_BPP8i 1 // indexed |
24 | #define IMAGE_BPP24 2 |
||
25 | #define IMAGE_BPP32 3 |
||
26 | #define IMAGE_BPP15 4 |
||
27 | #define IMAGE_BPP16 5 |
||
28 | #define IMAGE_BPP1 6 |
||
29 | #define IMAGE_BPP8g 7 // grayscale |
||
30 | #define IMAGE_BPP2i 8 |
||
31 | #define IMAGE_BPP4i 9 |
||
32 | #define IMAGE_BPP8a 10 |
||
33 | |||
8107 | superturbo | 34 | //error codes |
35 | #define LIBIMG_ERROR_OUT_OF_MEMORY 1 |
||
36 | #define LIBIMG_ERROR_FORMAT 2 |
||
37 | #define LIBIMG_ERROR_CONDITIONS 3 |
||
38 | #define LIBIMG_ERROR_BIT_DEPTH 4 |
||
39 | #define LIBIMG_ERROR_ENCODER 5 |
||
40 | #define LIBIMG_ERROR_SRC_TYPE 6 |
||
41 | #define LIBIMG_ERROR_SCALE 7 |
||
42 | #define LIBIMG_ERROR_INTER 8 |
||
43 | #define LIBIMG_ERROR_NOT_INPLEMENTED 9 |
||
44 | #define LIBIMG_ERROR_INVALID_INPUT 10 |
||
45 | |||
46 | //encode flags (byte 0x02 of _common option) |
||
47 | #define LIBIMG_ENCODE_STRICT_SPECIFIC 0x01 |
||
48 | #define LIBIMG_ENCODE_STRICT_BIT_DEPTH 0x02 |
||
49 | #define LIBIMG_ENCODE_DELETE_ALPHA 0x08 |
||
50 | #define LIBIMG_ENCODE_FLUSH_ALPHA 0x10 |
||
51 | |||
52 | |||
53 | #define FLIP_VERTICAL 0x01 |
||
54 | #define FLIP_HORIZONTAL 0x02 |
||
55 | |||
56 | #define ROTATE_90_CW 0x01 |
||
57 | #define ROTATE_180 0x02 |
||
58 | #define ROTATE_270_CW 0x03 |
||
59 | #define ROTATE_90_CCW ROTATE_270_CW |
||
60 | #define ROTATE_270_CCW ROTATE_90_CW |
||
61 | |||
8540 | superturbo | 62 | extern void* (*img_decode __attribute__((__stdcall__)))(void* file_data, uint32_t length, uint32_t options); |
63 | extern void* (*img_encode __attribute__((__stdcall__)))(void* image_data, uint32_t length, uint32_t option); |
||
64 | extern void* (*img_create __attribute__((__stdcall__)))(uint32_t width, uint32_t height, uint32_t type); |
||
65 | extern void (*img_to_rgb2 __attribute__((__stdcall__)))(void* image_data, void *rgb_data); |
||
66 | extern void* (*img_to_rgb __attribute__((__stdcall__)))(void *image_data); |
||
67 | extern uint32_t (*img_flip __attribute__((__stdcall__)))(void* image_data, uint32_t flip); |
||
68 | extern uint32_t (*img_flip_layer __attribute__((__stdcall__)))(void *image_data, uint32_t flip); |
||
69 | extern uint32_t (*img_rotate __attribute__((__stdcall__)))(void* image_data, uint32_t rotate); |
||
70 | extern uint32_t (*img_rotate_layer __attribute__((__stdcall__)))(void* image_data, uint32_t rotate); |
||
71 | extern void (*img_draw __attribute__((__stdcall__)))(void *image_data, uint32_t x, uint32_t y, uint32_t w, uint32_t h, uint32_t xoff, uint32_t yoff); |
||
72 | extern uint32_t (*img_count __attribute__((__stdcall__)))(void *image_data); |
||
73 | extern uint32_t (*img_destroy __attribute__((__stdcall__)))(void *image_data); |
||
74 | extern uint32_t (*img_destroy_layer __attribute__((__stdcall__)))(void* image_data); |
||
8107 | superturbo | 75 | |
76 | #endif /* KOLIBRI_LIBIMG_H */ |