diff --git a/include/icm.h b/include/icm.h index de5bf2626e4..67bfcc89fd0 100644 --- a/include/icm.h +++ b/include/icm.h @@ -137,20 +137,20 @@ typedef enum typedef enum { - BM_x555RGB = 0x00, - BM_565RGB = 0x01, - BM_RGBTRIPLETS = 0x02, - BM_BGRTRIPLETS = 0x04, - BM_xRGBQUADS = 0x08, - BM_10b_RGB = 0x09, - BM_16b_RGB = 0x0a, - BM_xBGRQUADS = 0x10, - BM_CMYKQUADS = 0x20, - BM_x555XYZ = 0x101, + BM_x555RGB = 0x0000, + BM_565RGB = 0x0001, + BM_RGBTRIPLETS = 0x0002, + BM_BGRTRIPLETS = 0x0004, + BM_xRGBQUADS = 0x0008, + BM_10b_RGB = 0x0009, + BM_16b_RGB = 0x000a, + BM_xBGRQUADS = 0x0010, + BM_CMYKQUADS = 0x0020, + BM_x555XYZ = 0x0101, BM_x555Yxz, BM_x555Lab, BM_x555G3CH, - BM_XYZTRIPLETS = 0x201, + BM_XYZTRIPLETS = 0x0201, BM_YxyTRIPLETS, BM_LabTRIPLETS, BM_G3CHTRIPLETS, @@ -159,21 +159,28 @@ typedef enum BM_7CHANNEL, BM_8CHANNEL, BM_GRAY, - BM_xXYZQUADS = 0x301, + BM_xXYZQUADS = 0x0301, BM_xYxyQUADS, BM_xLabQUADS, BM_xG3CHQUADS, BM_KYMCQUADS, - BM_10b_XYZ = 0x401, + BM_10b_XYZ = 0x0401, BM_10b_Yxy, BM_10b_Lab, BM_10b_G3CH, BM_NAMED_INDEX, - BM_16b_XYZ = 0x501, + BM_16b_XYZ = 0x0501, BM_16b_Yxy, BM_16b_Lab, BM_16b_G3CH, BM_16b_GRAY, + BM_32b_scRGB = 0x0601, + BM_32b_scARGB, + BM_S2DOT13FIXED_scRGB, + BM_S2DOT13FIXED_scARGB, + BM_R10G10B10A2 = 0x0701, + BM_R10G10B10A2_XR, + BM_R16G16B16A16_FLOAT } BMFORMAT, *PBMFORMAT, *LPBMFORMAT; typedef enum @@ -182,6 +189,36 @@ typedef enum WCS_PROFILE_MANAGEMENT_SCOPE_CURRENT_USER } WCS_PROFILE_MANAGEMENT_SCOPE; +#define DONT_USE_EMBEDDED_WCS_PROFILES 0x00000001 + +#define PROOF_MODE 0x00000001 +#define NORMAL_MODE 0x00000002 +#define BEST_MODE 0x00000003 +#define ENABLE_GAMUT_CHECKING 0x00010000 +#define USE_RELATIVE_COLORIMETRIC 0x00020000 +#define FAST_TRANSLATE 0x00040000 +#define PRESERVEBLACK 0x00100000 +#define WCS_ALWAYS 0x00200000 +#define RESERVED 0x80000000 +#define SEQUENTIAL_TRANSFORM 0x80800000 + +#define CSA_A 1 +#define CSA_ABC 2 +#define CSA_DEF 3 +#define CSA_DEFG 4 +#define CSA_GRAY 5 +#define CSA_RGB 6 +#define CSA_CMYK 7 +#define CSA_Lab 8 + +#define CMM_WIN_VERSION 0 +#define CMM_IDENT 1 +#define CMM_DRIVER_VERSION 2 +#define CMM_DLL_VERSION 3 +#define CMM_VERSION 4 +#define CMM_DESCRIPTION 5 +#define CMM_LOGOICON 6 + typedef BOOL (CALLBACK *PBMCALLBACKFN)(ULONG,ULONG,LPARAM); typedef PBMCALLBACKFN LPPBMCALLBACKFN; @@ -190,6 +227,38 @@ typedef PBMCALLBACKFN LPPBMCALLBACKFN; #define INTENT_SATURATION 2 #define INTENT_ABSOLUTE_COLORIMETRIC 3 +typedef enum +{ + CPT_ICC, + CPT_DMP, + CPT_CAMP, + CPT_GMMP +} COLORPROFILETYPE, *PCOLORPROFILETYPE, *LPCOLORPROFILETYPE; + +typedef enum +{ + CPST_PERCEPTUAL = INTENT_PERCEPTUAL, + CPST_RELATIVE_COLORIMETRIC = INTENT_RELATIVE_COLORIMETRIC, + CPST_SATURATION = INTENT_SATURATION, + CPST_ABSOLUTE_COLORIMETRIC = INTENT_ABSOLUTE_COLORIMETRIC, + CPST_NONE, + CPST_RGB_WORKING_SPACE, + CPST_CUSTOM_WORKING_SPACE, + CPST_STANDARD_DISPLAY_COLOR_MODE, + CPST_EXTENDED_DISPLAY_COLOR_MODE +} COLORPROFILESUBTYPE, *PCOLORPROFILESUBTYPE, *LPCOLORPROFILESUBTYPE; + +typedef enum +{ + COLOR_BYTE = 1, + COLOR_WORD, + COLOR_FLOAT, + COLOR_S2DOT13FIXED, + COLOR_10b_R10G10B10A2, + COLOR_10b_R10G10B10A2_XR, + COLOR_FLOAT16 +} COLORDATATYPE, *PCOLORDATATYPE, *LPCOLORDATATYPE; + typedef struct tagPROFILEHEADER { DWORD phSize; @@ -268,23 +337,43 @@ typedef struct tagENUMTYPEW DWORD dwDeviceClass; } ENUMTYPEW, *PENUMTYPEW, *LPENUMTYPEW; -#define ET_DEVICENAME 0x00000001 -#define ET_MEDIATYPE 0x00000002 -#define ET_DITHERMODE 0x00000004 -#define ET_RESOLUTION 0x00000008 -#define ET_CMMTYPE 0x00000010 -#define ET_CLASS 0x00000020 -#define ET_DATACOLORSPACE 0x00000040 -#define ET_CONNECTIONSPACE 0x00000080 -#define ET_SIGNATURE 0x00000100 -#define ET_PLATFORM 0x00000200 -#define ET_PROFILEFLAGS 0x00000400 -#define ET_MANUFACTURER 0x00000800 -#define ET_MODEL 0x00001000 -#define ET_ATTRIBUTES 0x00002000 -#define ET_RENDERINGINTENT 0x00004000 -#define ET_CREATOR 0x00008000 -#define ET_DEVICECLASS 0x00010000 +#define ET_DEVICENAME 0x00000001 +#define ET_MEDIATYPE 0x00000002 +#define ET_DITHERMODE 0x00000004 +#define ET_RESOLUTION 0x00000008 +#define ET_CMMTYPE 0x00000010 +#define ET_CLASS 0x00000020 +#define ET_DATACOLORSPACE 0x00000040 +#define ET_CONNECTIONSPACE 0x00000080 +#define ET_SIGNATURE 0x00000100 +#define ET_PLATFORM 0x00000200 +#define ET_PROFILEFLAGS 0x00000400 +#define ET_MANUFACTURER 0x00000800 +#define ET_MODEL 0x00001000 +#define ET_ATTRIBUTES 0x00002000 +#define ET_RENDERINGINTENT 0x00004000 +#define ET_CREATOR 0x00008000 +#define ET_DEVICECLASS 0x00010000 +#define ET_STANDARDDISPLAYCOLOR 0x00020000 +#define ET_EXTENDEDDISPLAYCOLOR 0x00040000 + +#define COLOR_MATCH_VERSION 0x0200 + +#define CMS_DISABLEICM 0x00000001 +#define CMS_ENABLEPROOFING 0x00000002 +#define CMS_SETRENDERINTENT 0x00000004 +#define CMS_SETPROOFINTENT 0x00000008 +#define CMS_SETMONITORPROFILE 0x00000010 +#define CMS_SETPRINTERPROFILE 0x00000020 +#define CMS_SETTARGETPROFILE 0x00000040 +#define CMS_USEHOOK 0x00000080 +#define CMS_USEAPPLYCALLBACK 0x00000100 +#define CMS_USEDESCRIPTION 0x00000200 +#define CMS_DISABLEINTENT 0x00000400 +#define CMS_DISABLERENDERINTENT 0x00000800 +#define CMS_TARGETOVERFLOW 0x20000000 +#define CMS_PRINTERROVERFLOW 0x40000000 +#define CMS_MONITOROVERFLOW 0x80000000 struct _tagCOLORMATCHSETUPA; struct _tagCOLORMATCHSETUPW; @@ -420,6 +509,23 @@ HPROFILE WINAPI WcsOpenColorProfileW(PROFILE*,PROFILE*,PROFILE*,DWORD,DWORD,DW #define PROFILE_READ 1 #define PROFILE_READWRITE 2 +#define FLAG_EMBEDDEDPROFILE 0x00000001 +#define FLAG_DEPENDENTONDATA 0x00000002 +#define FLAG_ENABLE_CHROMATIC_ADAPTATION 0x02000000 + +#define ATTRIB_TRANSPARENCY 0x00000001 +#define ATTRIB_MATTE 0x00000002 + +#define CLASS_MONITOR 0x6D6E7472 /* 'mntr' */ +#define CLASS_PRINTER 0x70727472 /* 'prtr' */ +#define CLASS_SCANNER 0x73636E72 /* 'scnr' */ +#define CLASS_LINK 0x6C696E6B /* 'link' */ +#define CLASS_ABSTRACT 0x61627374 /* 'abst' */ +#define CLASS_COLORSPACE 0x73617063 /* 'spac' */ +#define CLASS_NAMED 0x6E6D636C /* 'nmcl' */ +#define CLASS_CAMP 0x63616D70 /* 'camp' */ +#define CLASS_GMMP 0x676D6D70 /* 'gmmp' */ + #define SPACE_XYZ 0x58595A20 /* 'XYZ ' */ #define SPACE_Lab 0x4C616220 /* 'Lab ' */ #define SPACE_Luv 0x4C757620 /* 'Luv ' */