1 #ifndef __W32G_DIB_H__
2 #define __W32G_DIB_H__
3 
4 #define W32G_DIB_PALS_MAX 16
5 #define W32G_DIB_MODIFIED_RECT_MAX 16
6 
7 typedef struct w32g_dib_t_ {
8 	HBITMAP hbmp;
9 	int width;
10 	int height;
11 	char *bits;
12 	RGBQUAD pals[W32G_DIB_PALS_MAX];
13 	int pals_max;
14 	RECT modified_rect[W32G_DIB_MODIFIED_RECT_MAX];
15 	int modified_rect_max;
16 } w32g_dib_t;
17 
18 w32g_dib_t *dib_create (int width, int height );
19 void dib_free ( w32g_dib_t *dib );
20 void dib_add_modified_rect ( w32g_dib_t *dib, RECT *lprc );
21 void dib_modified_rect_whole ( w32g_dib_t *dib );
test(S s,S str,S expected)22 void dib_set_pal1 ( w32g_dib_t *dib, int pal_index, RGBQUAD rq );
23 void dib_set_pals ( w32g_dib_t *dib, RGBQUAD *pals, int pals_max );
24 void dib_apply ( w32g_dib_t *dib, HDC hdc );
25 
26 #endif // __W32G_DIB_H__
27