Sync with trunk revision r58045 to bring the corrections on configure.cmd and on...
[reactos.git] / win32ss / gdi / ntgdi / color.h
1 #pragma once
2
3 #ifndef CLR_INVALID
4 #define CLR_INVALID 0xffffffff
5 #endif
6 #define PC_SYS_USED 0x80 /* Palentry is used (both system and logical) */
7 #define PC_SYS_RESERVED 0x40 /* System palentry is not to be mapped to */
8 #define PC_SYS_MAPPED 0x10 /* Logical palentry is a direct alias for system palentry */
9
10 #define NB_RESERVED_COLORS 20 /* Number of fixed colors in system palette */
11
12 typedef struct _COLORSPACE
13 {
14 BASEOBJECT BaseObject;
15 LOGCOLORSPACEW lcsColorSpace;
16 DWORD dwFlags;
17 } COLORSPACE, *PCOLORSPACE;
18
19
20 #define COLORSPACEOBJ_AllocCS() ((PCOLORSPACE) GDIOBJ_AllocObj(GDIObjType_ICMLCS_TYPE))
21 #define COLORSPACEOBJ_AllocCSWithHandle() ((PCOLORSPACE) GDIOBJ_AllocObjWithHandle(GDI_OBJECT_TYPE_COLORSPACE, sizeof(COLORSPACE)))
22 #define COLORSPACEOBJ_FreeCS(pCS) GDIOBJ_FreeObj((POBJ)pCS, GDIObjType_ICMLCS_TYPE)
23 #define COLORSPACEOBJ_FreeCSByHandle(hCS) GDIOBJ_FreeObjByHandle((HGDIOBJ)hCS, GDI_OBJECT_TYPE_COLORSPACE)
24 #define COLORSPACEOBJ_LockCS(hCS) ((PCOLORSPACE)GDIOBJ_LockObject((HGDIOBJ)hCS, GDIObjType_ICMLCS_TYPE))
25 #define COLORSPACEOBJ_UnlockCS(pCS) GDIOBJ_vUnlockObject((POBJ)pCS)
26
27 typedef struct _COLORTRANSFORMOBJ
28 {
29 BASEOBJECT BaseObject;
30 HANDLE hColorTransform;
31 } GDICLRXFORM, COLORTRANSFORMOBJ, *PCOLORTRANSFORMOBJ;
32
33 extern HCOLORSPACE hStockColorSpace;
34
35 UINT FASTCALL IntGdiRealizePalette (HDC);