Release 991031.
[wine] / include / palette.h
1 /*
2  * GDI palette definitions
3  *
4  * Copyright 1994 Alexandre Julliard
5  */
6
7 #ifndef __WINE_PALETTE_H
8 #define __WINE_PALETTE_H
9
10 #include "gdi.h"
11
12 #define NB_RESERVED_COLORS              20 /* number of fixed colors in system palette */
13
14   /* GDI logical palette object */
15 typedef struct tagPALETTEOBJ
16 {
17     GDIOBJHDR                    header;
18     int                          *mapping;
19     LOGPALETTE                   logpalette; /* _MUST_ be the last field */
20 } PALETTEOBJ;
21
22 typedef struct tagPALETTE_DRIVER
23 {
24   int  (*pSetMapping)(struct tagPALETTEOBJ *, UINT, UINT, BOOL);
25   int  (*pUpdateMapping)(struct tagPALETTEOBJ *);
26   BOOL (*pIsDark)(int pixel);
27 } PALETTE_DRIVER;
28
29 extern PALETTE_DRIVER *PALETTE_Driver;
30
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);
35      
36 extern HPALETTE16 WINAPI CreateHalftonePalette16(HDC16 hdc);
37 extern HPALETTE WINAPI CreateHalftonePalette(HDC hdc);
38
39 #endif /* __WINE_PALETTE_H */