Release 20000227.
[wine.git] / include / palette.h
bloba7011f1ad4c4949b366da049edb3daed6feaafe6
1 /*
2 * GDI palette definitions
4 * Copyright 1994 Alexandre Julliard
5 */
7 #ifndef __WINE_PALETTE_H
8 #define __WINE_PALETTE_H
10 #include "gdi.h"
12 #define NB_RESERVED_COLORS 20 /* number of fixed colors in system palette */
14 /* GDI logical palette object */
15 typedef struct tagPALETTEOBJ
17 GDIOBJHDR header;
18 int *mapping;
19 LOGPALETTE logpalette; /* _MUST_ be the last field */
20 } PALETTEOBJ;
22 typedef struct tagPALETTE_DRIVER
24 int (*pSetMapping)(struct tagPALETTEOBJ *, UINT, UINT, BOOL);
25 int (*pUpdateMapping)(struct tagPALETTEOBJ *);
26 BOOL (*pIsDark)(int pixel);
27 } PALETTE_DRIVER;
29 extern PALETTE_DRIVER *PALETTE_Driver;
31 extern HPALETTE16 PALETTE_Init(void);
32 extern int PALETTE_GetObject( PALETTEOBJ * palette, int count, LPSTR buffer );
33 extern BOOL PALETTE_DeleteObject( HPALETTE16 hpalette, PALETTEOBJ *palette );
34 extern BOOL PALETTE_UnrealizeObject( HPALETTE16 hpalette, PALETTEOBJ *palette);
36 extern HPALETTE16 WINAPI CreateHalftonePalette16(HDC16 hdc);
37 extern HPALETTE WINAPI CreateHalftonePalette(HDC hdc);
39 #endif /* __WINE_PALETTE_H */