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
{
20 XLATEOBJ
*logicalToSystem
;
22 ULONG Mode
; // PAL_INDEXED, PAL_BITFIELDS, PAL_RGB, PAL_BGR
24 PALETTEENTRY
*IndexedColors
;
30 HPALETTE FASTCALL
PALETTE_AllocPalette(ULONG Mode
,
36 HPALETTE FASTCALL
PALETTE_AllocPaletteIndexedRGB(ULONG NumColors
,
37 CONST RGBQUAD
*Colors
);
38 #define PALETTE_FreePalette(hPalette) GDIOBJ_FreeObj(GdiHandleTable, (HGDIOBJ)hPalette, GDI_OBJECT_TYPE_PALETTE)
39 #define PALETTE_LockPalette(hPalette) ((PPALGDI)GDIOBJ_LockObj(GdiHandleTable, (HGDIOBJ)hPalette, GDI_OBJECT_TYPE_PALETTE))
40 #define PALETTE_UnlockPalette(pPalette) GDIOBJ_UnlockObjByPtr(GdiHandleTable, pPalette)
41 BOOL INTERNAL_CALL
PALETTE_Cleanup(PVOID ObjectBody
);
43 HPALETTE FASTCALL
PALETTE_Init (VOID
);
44 VOID FASTCALL
PALETTE_ValidateFlags (PALETTEENTRY
* lpPalE
, INT size
);
46 INT STDCALL
PALETTE_SetMapping(PALOBJ
* palPtr
, UINT uStart
, UINT uNum
, BOOL mapOnly
);
48 INT FASTCALL
PALETTE_ToPhysical (PDC dc
, COLORREF color
);
50 INT FASTCALL
PALETTE_GetObject(PPALGDI pGdiObject
, INT cbCount
, LPLOGBRUSH lpBuffer
);
52 PPALETTEENTRY FASTCALL
ReturnSystemPalette (VOID
);
54 #endif /* _WIN32K_PALETTE_H */