1 #ifndef _WIN32K_PALETTE_H
2 #define _WIN32K_PALETTE_H
6 #define PALETTE_FIXED 0x0001 /* read-only colormap - have to use XAllocColor (if not virtual) */
7 #define PALETTE_VIRTUAL 0x0002 /* no mapping needed - pixel == pixel color */
9 #define PALETTE_PRIVATE 0x1000 /* private colormap, identity mapping */
10 #define PALETTE_WHITESET 0x2000
18 typedef struct _PALGDI
{
25 XLATEOBJ
*logicalToSystem
;
27 ULONG Mode
; // PAL_INDEXED, PAL_BITFIELDS, PAL_RGB, PAL_BGR
29 PALETTEENTRY
*IndexedColors
;
35 HPALETTE FASTCALL
PALETTE_AllocPalette(ULONG Mode
,
41 HPALETTE FASTCALL
PALETTE_AllocPaletteIndexedRGB(ULONG NumColors
,
42 CONST RGBQUAD
*Colors
);
43 #define PALETTE_FreePalette(hPalette) GDIOBJ_FreeObj(GdiHandleTable, (HGDIOBJ)hPalette, GDI_OBJECT_TYPE_PALETTE)
44 #define PALETTE_LockPalette(hPalette) ((PPALGDI)GDIOBJ_LockObj(GdiHandleTable, (HGDIOBJ)hPalette, GDI_OBJECT_TYPE_PALETTE))
45 #define PALETTE_UnlockPalette(pPalette) GDIOBJ_UnlockObjByPtr(GdiHandleTable, pPalette)
46 BOOL INTERNAL_CALL
PALETTE_Cleanup(PVOID ObjectBody
);
48 HPALETTE FASTCALL
PALETTE_Init (VOID
);
49 VOID FASTCALL
PALETTE_ValidateFlags (PALETTEENTRY
* lpPalE
, INT size
);
51 INT STDCALL
PALETTE_SetMapping(PALOBJ
* palPtr
, UINT uStart
, UINT uNum
, BOOL mapOnly
);
53 INT FASTCALL
PALETTE_ToPhysical (PDC dc
, COLORREF color
);
55 INT FASTCALL
PALETTE_GetObject(PPALGDI pGdiObject
, INT cbCount
, LPLOGBRUSH lpBuffer
);
57 PPALETTEENTRY FASTCALL
ReturnSystemPalette (VOID
);
59 #endif /* _WIN32K_PALETTE_H */