| 1 | #ifndef _ICM_H | 
 
 
 
 
 | 2 | #define _ICM_H | 
 
 
 
 
 | 3 | #if __GNUC__ >= 3 | 
 
 
 
 
 | 4 | #pragma GCC system_header | 
 
 
 
 
 | 5 | #endif | 
 
 
 
 
 | 6 |  | 
 
 
 
 
 | 7 | #ifdef __cplusplus | 
 
 
 
 
 | 8 | extern "C" { | 
 
 
 
 
 | 9 | #endif | 
 
 
 
 
 | 10 |  | 
 
 
 
 
 | 11 | #if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) | 
 
 
 
 
 | 12 | #define MAX_COLOR_CHANNELS 8 | 
 
 
 
 
 | 13 | #define PROFILE_FILENAME 1 | 
 
 
 
 
 | 14 | #define PROFILE_MEMBUFFER 2 | 
 
 
 
 
 | 15 | #define PROFILE_READ 1 | 
 
 
 
 
 | 16 | #define PROFILE_READWRITE 2 | 
 
 
 
 
 | 17 | #define CLASS_SCANNER 0x73636E72 | 
 
 
 
 
 | 18 | #define CLASS_MONITOR 0x6D6E7472 | 
 
 
 
 
 | 19 | #define CLASS_PRINTER 0x70727472 | 
 
 
 
 
 | 20 | #define CLASS_LINK 0x6C696E6B | 
 
 
 
 
 | 21 | #define CLASS_COLORSPAC 0x73706163 | 
 
 
 
 
 | 22 | #define CLASS_ABSTRACT 0x61627374 | 
 
 
 
 
 | 23 | #define CLASS_NAMED 0x6E6D636C | 
 
 
 
 
 | 24 | #define SPACE_XYZ 0x58595A20 | 
 
 
 
 
 | 25 | #define SPACE_Lab 0x4C616220 | 
 
 
 
 
 | 26 | #define SPACE_Luv 0x4C757620 | 
 
 
 
 
 | 27 | #define SPACE_YCbCr 0x59436272 | 
 
 
 
 
 | 28 | #define SPACE_Yxy 0x59787920 | 
 
 
 
 
 | 29 | #define SPACE_RGB 0x52474220 | 
 
 
 
 
 | 30 | #define SPACE_GRAY 0x47524159 | 
 
 
 
 
 | 31 | #define SPACE_HSV 0x48535620 | 
 
 
 
 
 | 32 | #define SPACE_HLS 0x484C5320 | 
 
 
 
 
 | 33 | #define SPACE_CMYK 0x434D594B | 
 
 
 
 
 | 34 | #define SPACE_CMY 0x434D5920 | 
 
 
 
 
 | 35 | #define SPACE_2_CHANNEL 0x32434C52 | 
 
 
 
 
 | 36 | #define SPACE_3_CHANNEL 0x33434C52 | 
 
 
 
 
 | 37 | #define SPACE_4_CHANNEL 0x34434C52 | 
 
 
 
 
 | 38 | #define SPACE_5_CHANNEL 0x35434C52 | 
 
 
 
 
 | 39 | #define SPACE_6_CHANNEL 0x36434C52 | 
 
 
 
 
 | 40 | #define SPACE_7_CHANNEL 0x37434C52 | 
 
 
 
 
 | 41 | #define SPACE_8_CHANNEL 0x38434C52 | 
 
 
 
 
 | 42 | #define FLAG_EMBEDDEDPROFILE 1 | 
 
 
 
 
 | 43 | #define FLAG_DEPENDENTONDATA 2 | 
 
 
 
 
 | 44 | #define ATTRIB_TRANSPARENCY 1 | 
 
 
 
 
 | 45 | #define ATTRIB_MATTE 2 | 
 
 
 
 
 | 46 | #define INTENT_PERCEPTUAL 0 | 
 
 
 
 
 | 47 | #define INTENT_RELATIVE_COLORIMETRIC 1 | 
 
 
 
 
 | 48 | #define INTENT_SATURATION 2 | 
 
 
 
 
 | 49 | #define INTENT_ABSOLUTE_COLORIMETRIC 3 | 
 
 
 
 
 | 50 | #define COLOR_MATCH_VERSION 0x200 | 
 
 
 
 
 | 51 | #define CMS_DISABLEICM 0x1 | 
 
 
 
 
 | 52 | #define CMS_ENABLEPROOFING 0x2 | 
 
 
 
 
 | 53 | #define CMS_SETRENDERINTENT 0x4 | 
 
 
 
 
 | 54 | #define CMS_SETPROOFINTENT 0x8 | 
 
 
 
 
 | 55 | #define CMS_SETMONITORPROFILE 0x10 | 
 
 
 
 
 | 56 | #define CMS_SETPRINTERPROFILE 0x20 | 
 
 
 
 
 | 57 | #define CMS_SETTARGETPROFILE 0x40 | 
 
 
 
 
 | 58 | #define CMS_USEHOOK 0x80 | 
 
 
 
 
 | 59 | #define CMS_USEAPPLYCALLBACK 0x100 | 
 
 
 
 
 | 60 | #define CMS_USEDESCRIPTION 0x200 | 
 
 
 
 
 | 61 | #define CMS_TARGETOVERFLOW 0x20000000 | 
 
 
 
 
 | 62 | #define CMS_PRINTERROVERFLOW 0x40000000 | 
 
 
 
 
 | 63 | #define CMS_MONITOROVERFLOW 0x80000000 | 
 
 
 
 
 | 64 |  | 
 
 
 
 
 | 65 | DECLARE_HANDLE(HPROFILE); | 
 
 
 
 
 | 66 | typedef HPROFILE *PHPROFILE,*LPHPROFILE; | 
 
 
 
 
 | 67 | DECLARE_HANDLE(HTRANSFORM);\ | 
 
 
 
 
 | 68 |  | 
 
 
 
 
 | 69 | typedef BOOL (CALLBACK *PBMCALLBACKFN)(ULONG,ULONG,LPARAM); | 
 
 
 
 
 | 70 | struct _tagCOLORMATCHSETUPA; | 
 
 
 
 
 | 71 | struct _tagCOLORMATCHSETUPW; | 
 
 
 
 
 | 72 | typedef BOOL (CALLBACK *PCMSCALLBACKA)(struct _tagCOLORMATCHSETUPA*,LPARAM); | 
 
 
 
 
 | 73 | typedef BOOL (CALLBACK *PCMSCALLBACKW)(struct _tagCOLORMATCHSETUPW*,LPARAM); | 
 
 
 
 
 | 74 |  | 
 
 
 
 
 | 75 | typedef CHAR COLOR_NAME[32]; | 
 
 
 
 
 | 76 | typedef COLOR_NAME *PCOLOR_NAME,*LPCOLOR_NAME; | 
 
 
 
 
 | 77 | typedef DWORD TAGTYPE,*PTAGTYPE,*LPTAGTYPE; | 
 
 
 
 
 | 78 | typedef enum | 
 
 
 
 
 | 79 | { | 
 
 
 
 
 | 80 | BM_x555RGB      = 0x0000, | 
 
 
 
 
 | 81 | BM_x555XYZ      = 0x0101, | 
 
 
 
 
 | 82 | BM_x555Yxy, | 
 
 
 
 
 | 83 | BM_x555Lab, | 
 
 
 
 
 | 84 | BM_x555G3CH, | 
 
 
 
 
 | 85 | BM_RGBTRIPLETS  = 0x0002, | 
 
 
 
 
 | 86 | BM_BGRTRIPLETS  = 0x0004, | 
 
 
 
 
 | 87 | BM_XYZTRIPLETS  = 0x0201, | 
 
 
 
 
 | 88 | BM_YxyTRIPLETS, | 
 
 
 
 
 | 89 | BM_LabTRIPLETS, | 
 
 
 
 
 | 90 | BM_G3CHTRIPLETS, | 
 
 
 
 
 | 91 | BM_5CHANNEL, | 
 
 
 
 
 | 92 | BM_6CHANNEL, | 
 
 
 
 
 | 93 | BM_7CHANNEL, | 
 
 
 
 
 | 94 | BM_8CHANNEL, | 
 
 
 
 
 | 95 | BM_GRAY, | 
 
 
 
 
 | 96 | BM_xRGBQUADS    = 0x0008, | 
 
 
 
 
 | 97 | BM_xBGRQUADS    = 0x0010, | 
 
 
 
 
 | 98 | BM_xG3CHQUADS   = 0x0304, | 
 
 
 
 
 | 99 | BM_KYMCQUADS, | 
 
 
 
 
 | 100 | BM_CMYKQUADS    = 0x0020, | 
 
 
 
 
 | 101 | BM_10b_RGB      = 0x0009, | 
 
 
 
 
 | 102 | BM_10b_XYZ      = 0x0401, | 
 
 
 
 
 | 103 | BM_10b_Yxy, | 
 
 
 
 
 | 104 | BM_10b_Lab, | 
 
 
 
 
 | 105 | BM_10b_G3CH, | 
 
 
 
 
 | 106 | BM_NAMED_INDEX, | 
 
 
 
 
 | 107 | BM_16b_RGB      = 0x000A, | 
 
 
 
 
 | 108 | BM_16b_XYZ      = 0x0501, | 
 
 
 
 
 | 109 | BM_16b_Yxy, | 
 
 
 
 
 | 110 | BM_16b_Lab, | 
 
 
 
 
 | 111 | BM_16b_G3CH, | 
 
 
 
 
 | 112 | BM_16b_GRAY, | 
 
 
 
 
 | 113 | BM_565RGB       = 0x0001 | 
 
 
 
 
 | 114 | } BMFORMAT,*PBMFORMAT,*LPBMFORMAT; | 
 
 
 
 
 | 115 | typedef enum | 
 
 
 
 
 | 116 | { | 
 
 
 
 
 | 117 | COLOR_GRAY       =   1, | 
 
 
 
 
 | 118 | COLOR_RGB, | 
 
 
 
 
 | 119 | COLOR_XYZ, | 
 
 
 
 
 | 120 | COLOR_Yxy, | 
 
 
 
 
 | 121 | COLOR_Lab, | 
 
 
 
 
 | 122 | COLOR_3_CHANNEL, | 
 
 
 
 
 | 123 | COLOR_CMYK, | 
 
 
 
 
 | 124 | COLOR_5_CHANNEL, | 
 
 
 
 
 | 125 | COLOR_6_CHANNEL, | 
 
 
 
 
 | 126 | COLOR_7_CHANNEL, | 
 
 
 
 
 | 127 | COLOR_8_CHANNEL, | 
 
 
 
 
 | 128 | COLOR_NAMED | 
 
 
 
 
 | 129 | } COLORTYPE,*PCOLORTYPE,*LPCOLORTYPE; | 
 
 
 
 
 | 130 | struct GRAYCOLOR { | 
 
 
 
 
 | 131 | WORD    gray; | 
 
 
 
 
 | 132 | }; | 
 
 
 
 
 | 133 | struct RGBCOLOR { | 
 
 
 
 
 | 134 | WORD    red; | 
 
 
 
 
 | 135 | WORD    green; | 
 
 
 
 
 | 136 | WORD    blue; | 
 
 
 
 
 | 137 | }; | 
 
 
 
 
 | 138 | struct CMYKCOLOR { | 
 
 
 
 
 | 139 | WORD    cyan; | 
 
 
 
 
 | 140 | WORD    magenta; | 
 
 
 
 
 | 141 | WORD    yellow; | 
 
 
 
 
 | 142 | WORD    black; | 
 
 
 
 
 | 143 | }; | 
 
 
 
 
 | 144 | struct XYZCOLOR { | 
 
 
 
 
 | 145 | WORD    X; | 
 
 
 
 
 | 146 | WORD    Y; | 
 
 
 
 
 | 147 | WORD    Z; | 
 
 
 
 
 | 148 | }; | 
 
 
 
 
 | 149 | struct YxyCOLOR { | 
 
 
 
 
 | 150 | WORD    Y; | 
 
 
 
 
 | 151 | WORD    x; | 
 
 
 
 
 | 152 | WORD    y; | 
 
 
 
 
 | 153 | }; | 
 
 
 
 
 | 154 | struct LabCOLOR { | 
 
 
 
 
 | 155 | WORD    L; | 
 
 
 
 
 | 156 | WORD    a; | 
 
 
 
 
 | 157 | WORD    b; | 
 
 
 
 
 | 158 | }; | 
 
 
 
 
 | 159 | struct GENERIC3CHANNEL { | 
 
 
 
 
 | 160 | WORD    ch1; | 
 
 
 
 
 | 161 | WORD    ch2; | 
 
 
 
 
 | 162 | WORD    ch3; | 
 
 
 
 
 | 163 | }; | 
 
 
 
 
 | 164 | struct NAMEDCOLOR { | 
 
 
 
 
 | 165 | DWORD   dwIndex; | 
 
 
 
 
 | 166 | }; | 
 
 
 
 
 | 167 | struct HiFiCOLOR { | 
 
 
 
 
 | 168 | BYTE    channel[MAX_COLOR_CHANNELS]; | 
 
 
 
 
 | 169 | }; | 
 
 
 
 
 | 170 | typedef union tagCOLOR { | 
 
 
 
 
 | 171 | struct GRAYCOLOR        gray; | 
 
 
 
 
 | 172 | struct RGBCOLOR         rgb; | 
 
 
 
 
 | 173 | struct CMYKCOLOR        cmyk; | 
 
 
 
 
 | 174 | struct XYZCOLOR         XYZ; | 
 
 
 
 
 | 175 | struct YxyCOLOR         Yxy; | 
 
 
 
 
 | 176 | struct LabCOLOR         Lab; | 
 
 
 
 
 | 177 | struct GENERIC3CHANNEL  gen3ch; | 
 
 
 
 
 | 178 | struct NAMEDCOLOR       named; | 
 
 
 
 
 | 179 | struct HiFiCOLOR        hifi; | 
 
 
 
 
 | 180 | } COLOR,*PCOLOR,*LPCOLOR; | 
 
 
 
 
 | 181 | typedef struct _tagCOLORMATCHSETUPA { | 
 
 
 
 
 | 182 | DWORD         dwSize; | 
 
 
 
 
 | 183 | DWORD         dwVersion; | 
 
 
 
 
 | 184 | DWORD         dwFlags; | 
 
 
 
 
 | 185 | HWND          hwndOwner; | 
 
 
 
 
 | 186 | PCSTR         pSourceName; | 
 
 
 
 
 | 187 | PCSTR         pDisplayName; | 
 
 
 
 
 | 188 | PCSTR         pPrinterName; | 
 
 
 
 
 | 189 | DWORD         dwRenderIntent; | 
 
 
 
 
 | 190 | DWORD         dwProofingIntent; | 
 
 
 
 
 | 191 | PSTR          pMonitorProfile; | 
 
 
 
 
 | 192 | DWORD         ccMonitorProfile; | 
 
 
 
 
 | 193 | PSTR          pPrinterProfile; | 
 
 
 
 
 | 194 | DWORD         ccPrinterProfile; | 
 
 
 
 
 | 195 | PSTR          pTargetProfile; | 
 
 
 
 
 | 196 | DWORD         ccTargetProfile; | 
 
 
 
 
 | 197 | DLGPROC       lpfnHook; | 
 
 
 
 
 | 198 | LPARAM        lParam; | 
 
 
 
 
 | 199 | PCMSCALLBACKA lpfnApplyCallback; | 
 
 
 
 
 | 200 | LPARAM        lParamApplyCallback; | 
 
 
 
 
 | 201 | } COLORMATCHSETUPA,*PCOLORMATCHSETUPA,*LPCOLORMATCHSETUPA; | 
 
 
 
 
 | 202 | typedef struct _tagCOLORMATCHSETUPW { | 
 
 
 
 
 | 203 | DWORD         dwSize; | 
 
 
 
 
 | 204 | DWORD         dwVersion; | 
 
 
 
 
 | 205 | DWORD         dwFlags; | 
 
 
 
 
 | 206 | HWND          hwndOwner; | 
 
 
 
 
 | 207 | PCWSTR        pSourceName; | 
 
 
 
 
 | 208 | PCWSTR        pDisplayName; | 
 
 
 
 
 | 209 | PCWSTR        pPrinterName; | 
 
 
 
 
 | 210 | DWORD         dwRenderIntent; | 
 
 
 
 
 | 211 | DWORD         dwProofingIntent; | 
 
 
 
 
 | 212 | PWSTR         pMonitorProfile; | 
 
 
 
 
 | 213 | DWORD         ccMonitorProfile; | 
 
 
 
 
 | 214 | PWSTR         pPrinterProfile; | 
 
 
 
 
 | 215 | DWORD         ccPrinterProfile; | 
 
 
 
 
 | 216 | PWSTR         pTargetProfile; | 
 
 
 
 
 | 217 | DWORD         ccTargetProfile; | 
 
 
 
 
 | 218 | DLGPROC       lpfnHook; | 
 
 
 
 
 | 219 | LPARAM        lParam; | 
 
 
 
 
 | 220 | PCMSCALLBACKW lpfnApplyCallback; | 
 
 
 
 
 | 221 | LPARAM        lParamApplyCallback; | 
 
 
 
 
 | 222 | } COLORMATCHSETUPW,*PCOLORMATCHSETUPW,*LPCOLORMATCHSETUPW; | 
 
 
 
 
 | 223 | typedef struct tagENUMTYPEW { | 
 
 
 
 
 | 224 | DWORD   dwSize; | 
 
 
 
 
 | 225 | DWORD   dwVersion; | 
 
 
 
 
 | 226 | DWORD   dwFields; | 
 
 
 
 
 | 227 | PCWSTR  pDeviceName; | 
 
 
 
 
 | 228 | DWORD   dwMediaType; | 
 
 
 
 
 | 229 | DWORD   dwDitheringMode; | 
 
 
 
 
 | 230 | DWORD   dwResolution[2]; | 
 
 
 
 
 | 231 | DWORD   dwCMMType; | 
 
 
 
 
 | 232 | DWORD   dwClass; | 
 
 
 
 
 | 233 | DWORD   dwDataColorSpace; | 
 
 
 
 
 | 234 | DWORD   dwConnectionSpace; | 
 
 
 
 
 | 235 | DWORD   dwSignature; | 
 
 
 
 
 | 236 | DWORD   dwPlatform; | 
 
 
 
 
 | 237 | DWORD   dwProfileFlags; | 
 
 
 
 
 | 238 | DWORD   dwManufacturer; | 
 
 
 
 
 | 239 | DWORD   dwModel; | 
 
 
 
 
 | 240 | DWORD   dwAttributes[2]; | 
 
 
 
 
 | 241 | DWORD   dwRenderingIntent; | 
 
 
 
 
 | 242 | DWORD   dwCreator; | 
 
 
 
 
 | 243 | DWORD   dwDeviceClass; | 
 
 
 
 
 | 244 | } ENUMTYPEW,*PENUMTYPEW,*LPENUMTYPEW; | 
 
 
 
 
 | 245 | typedef struct tagENUMTYPEA { | 
 
 
 
 
 | 246 | DWORD   dwSize; | 
 
 
 
 
 | 247 | DWORD   dwVersion; | 
 
 
 
 
 | 248 | DWORD   dwFields; | 
 
 
 
 
 | 249 | PCSTR   pDeviceName; | 
 
 
 
 
 | 250 | DWORD   dwMediaType; | 
 
 
 
 
 | 251 | DWORD   dwDitheringMode; | 
 
 
 
 
 | 252 | DWORD   dwResolution[2]; | 
 
 
 
 
 | 253 | DWORD   dwCMMType; | 
 
 
 
 
 | 254 | DWORD   dwClass; | 
 
 
 
 
 | 255 | DWORD   dwDataColorSpace; | 
 
 
 
 
 | 256 | DWORD   dwConnectionSpace; | 
 
 
 
 
 | 257 | DWORD   dwSignature; | 
 
 
 
 
 | 258 | DWORD   dwPlatform; | 
 
 
 
 
 | 259 | DWORD   dwProfileFlags; | 
 
 
 
 
 | 260 | DWORD   dwManufacturer; | 
 
 
 
 
 | 261 | DWORD   dwModel; | 
 
 
 
 
 | 262 | DWORD   dwAttributes[2]; | 
 
 
 
 
 | 263 | DWORD   dwRenderingIntent; | 
 
 
 
 
 | 264 | DWORD   dwCreator; | 
 
 
 
 
 | 265 | DWORD   dwDeviceClass; | 
 
 
 
 
 | 266 | } ENUMTYPEA,*PENUMTYPEA,*LPENUMTYPEA; | 
 
 
 
 
 | 267 | typedef struct tagNAMED_PROFILE_INFO{ | 
 
 
 
 
 | 268 | DWORD         dwFlags; | 
 
 
 
 
 | 269 | DWORD         dwCount; | 
 
 
 
 
 | 270 | DWORD         dwCountDevCoordinates; | 
 
 
 
 
 | 271 | COLOR_NAME    szPrefix; | 
 
 
 
 
 | 272 | COLOR_NAME    szSuffix; | 
 
 
 
 
 | 273 | } NAMED_PROFILE_INFO,*PNAMED_PROFILE_INFO,*LPNAMED_PROFILE_INFO; | 
 
 
 
 
 | 274 | typedef struct tagPROFILE { | 
 
 
 
 
 | 275 | DWORD    dwType; | 
 
 
 
 
 | 276 | PVOID    pProfileData; | 
 
 
 
 
 | 277 | DWORD    cbDataSize; | 
 
 
 
 
 | 278 | } PROFILE,*PPROFILE,*LPPROFILE; | 
 
 
 
 
 | 279 | typedef struct tagPROFILEHEADER { | 
 
 
 
 
 | 280 | DWORD   phSize; | 
 
 
 
 
 | 281 | DWORD   phCMMType; | 
 
 
 
 
 | 282 | DWORD   phVersion; | 
 
 
 
 
 | 283 | DWORD   phClass; | 
 
 
 
 
 | 284 | DWORD   phDataColorSpace; | 
 
 
 
 
 | 285 | DWORD   phConnectionSpace; | 
 
 
 
 
 | 286 | DWORD   phDateTime[3]; | 
 
 
 
 
 | 287 | DWORD   phSignature; | 
 
 
 
 
 | 288 | DWORD   phPlatform; | 
 
 
 
 
 | 289 | DWORD   phProfileFlags; | 
 
 
 
 
 | 290 | DWORD   phManufacturer; | 
 
 
 
 
 | 291 | DWORD   phModel; | 
 
 
 
 
 | 292 | DWORD   phAttributes[2]; | 
 
 
 
 
 | 293 | DWORD   phRenderingIntent; | 
 
 
 
 
 | 294 | CIEXYZ  phIlluminant; | 
 
 
 
 
 | 295 | DWORD   phCreator; | 
 
 
 
 
 | 296 | BYTE    phReserved[44]; | 
 
 
 
 
 | 297 | } PROFILEHEADER,*PPROFILEHEADER,*LPPROFILEHEADER; | 
 
 
 
 
 | 298 |  | 
 
 
 
 
 | 299 | BOOL WINAPI AssociateColorProfileWithDeviceA(PCSTR,PCSTR,PCSTR); | 
 
 
 
 
 | 300 | BOOL WINAPI AssociateColorProfileWithDeviceW(PCWSTR,PCWSTR,PCWSTR); | 
 
 
 
 
 | 301 | BOOL WINAPI CheckBitmapBits(HTRANSFORM,PVOID,BMFORMAT,DWORD,DWORD,DWORD,PBYTE,PBMCALLBACKFN,LPARAM); | 
 
 
 
 
 | 302 | BOOL WINAPI CheckColors(HTRANSFORM,PCOLOR,DWORD,COLORTYPE,PBYTE); | 
 
 
 
 
 | 303 | BOOL WINAPI CloseColorProfile(HPROFILE); | 
 
 
 
 
 | 304 | BOOL WINAPI ConvertColorNameToIndex(HPROFILE,PCOLOR_NAME,PDWORD,DWORD); | 
 
 
 
 
 | 305 | BOOL WINAPI ConvertIndexToColorName(HPROFILE,PDWORD,PCOLOR_NAME,DWORD); | 
 
 
 
 
 | 306 | HTRANSFORM WINAPI CreateColorTransformA(LPLOGCOLORSPACEA,HPROFILE,HPROFILE,DWORD); | 
 
 
 
 
 | 307 | HTRANSFORM WINAPI CreateColorTransformW(LPLOGCOLORSPACEW,HPROFILE,HPROFILE,DWORD); | 
 
 
 
 
 | 308 | BOOL WINAPI CreateDeviceLinkProfile(PHPROFILE,DWORD,PDWORD,DWORD,DWORD,PBYTE*,DWORD); | 
 
 
 
 
 | 309 | HTRANSFORM WINAPI CreateMultiProfileTransform(PHPROFILE,DWORD,PDWORD,DWORD,DWORD,DWORD); | 
 
 
 
 
 | 310 | BOOL WINAPI CreateProfileFromLogColorSpaceA(LPLOGCOLORSPACEA,PBYTE*); | 
 
 
 
 
 | 311 | BOOL WINAPI CreateProfileFromLogColorSpaceW(LPLOGCOLORSPACEW,PBYTE*); | 
 
 
 
 
 | 312 | BOOL WINAPI DeleteColorTransform(HTRANSFORM); | 
 
 
 
 
 | 313 | BOOL WINAPI DisassociateColorProfileFromDeviceA(PCSTR,PCSTR,PCSTR); | 
 
 
 
 
 | 314 | BOOL WINAPI DisassociateColorProfileFromDeviceW(PCWSTR,PCWSTR,PCWSTR); | 
 
 
 
 
 | 315 | BOOL WINAPI EnumColorProfilesA(PCSTR,PENUMTYPEA,PBYTE,PDWORD,PDWORD); | 
 
 
 
 
 | 316 | BOOL WINAPI EnumColorProfilesW(PCWSTR,PENUMTYPEW,PBYTE,PDWORD,PDWORD); | 
 
 
 
 
 | 317 | DWORD WINAPI GetCMMInfo(HTRANSFORM,DWORD); | 
 
 
 
 
 | 318 | BOOL WINAPI GetColorDirectoryA(PCSTR,PSTR,PDWORD); | 
 
 
 
 
 | 319 | BOOL WINAPI GetColorDirectoryW(PCWSTR,PWSTR,PDWORD); | 
 
 
 
 
 | 320 | BOOL WINAPI GetColorProfileElement(HPROFILE,TAGTYPE,DWORD,PDWORD,PVOID,PBOOL); | 
 
 
 
 
 | 321 | BOOL WINAPI GetColorProfileElementTag(HPROFILE,DWORD,PTAGTYPE); | 
 
 
 
 
 | 322 | BOOL WINAPI GetColorProfileFromHandle(HPROFILE,PBYTE,PDWORD); | 
 
 
 
 
 | 323 | BOOL WINAPI GetColorProfileHeader(HPROFILE,PPROFILEHEADER); | 
 
 
 
 
 | 324 | BOOL WINAPI GetCountColorProfileElements(HPROFILE,PDWORD); | 
 
 
 
 
 | 325 | BOOL WINAPI GetNamedProfileInfo(HPROFILE,PNAMED_PROFILE_INFO); | 
 
 
 
 
 | 326 | BOOL WINAPI GetPS2ColorRenderingDictionary(HPROFILE,DWORD,PBYTE,PDWORD,PBOOL); | 
 
 
 
 
 | 327 | BOOL WINAPI GetPS2ColorRenderingIntent(HPROFILE,DWORD,PBYTE,PDWORD); | 
 
 
 
 
 | 328 | BOOL WINAPI GetPS2ColorSpaceArray(HPROFILE,DWORD,DWORD,PBYTE,PDWORD,PBOOL); | 
 
 
 
 
 | 329 | BOOL WINAPI GetStandardColorSpaceProfileA(PCSTR,DWORD,PSTR,PDWORD); | 
 
 
 
 
 | 330 | BOOL WINAPI GetStandardColorSpaceProfileW(PCWSTR,DWORD,PWSTR,PDWORD); | 
 
 
 
 
 | 331 | BOOL WINAPI InstallColorProfileA(PCSTR,PCSTR); | 
 
 
 
 
 | 332 | BOOL WINAPI InstallColorProfileW(PCWSTR,PCWSTR); | 
 
 
 
 
 | 333 | BOOL WINAPI IsColorProfileTagPresent(HPROFILE,TAGTYPE,PBOOL); | 
 
 
 
 
 | 334 | BOOL WINAPI IsColorProfileValid(HPROFILE,PBOOL); | 
 
 
 
 
 | 335 | HPROFILE WINAPI OpenColorProfileA(PPROFILE,DWORD,DWORD,DWORD); | 
 
 
 
 
 | 336 | HPROFILE WINAPI OpenColorProfileW(PPROFILE,DWORD,DWORD,DWORD); | 
 
 
 
 
 | 337 | BOOL WINAPI RegisterCMMA(PCSTR,DWORD,PCSTR); | 
 
 
 
 
 | 338 | BOOL WINAPI RegisterCMMW(PCWSTR,DWORD,PCWSTR); | 
 
 
 
 
 | 339 | BOOL WINAPI SelectCMM(DWORD); | 
 
 
 
 
 | 340 | BOOL WINAPI SetColorProfileElement(HPROFILE,TAGTYPE,DWORD,PDWORD,PVOID); | 
 
 
 
 
 | 341 | BOOL WINAPI SetColorProfileElementReference(HPROFILE,TAGTYPE,TAGTYPE); | 
 
 
 
 
 | 342 | BOOL WINAPI SetColorProfileElementSize(HPROFILE,TAGTYPE,DWORD); | 
 
 
 
 
 | 343 | BOOL WINAPI SetColorProfileHeader(HPROFILE,PPROFILEHEADER); | 
 
 
 
 
 | 344 | BOOL WINAPI SetStandardColorSpaceProfileA(PCSTR,DWORD,PCSTR); | 
 
 
 
 
 | 345 | BOOL WINAPI SetStandardColorSpaceProfileW(PCWSTR,DWORD,PCSTR); | 
 
 
 
 
 | 346 | BOOL WINAPI SetupColorMatchingA(PCOLORMATCHSETUPA); | 
 
 
 
 
 | 347 | BOOL WINAPI SetupColorMatchingW(PCOLORMATCHSETUPW); | 
 
 
 
 
 | 348 | BOOL WINAPI TranslateBitmapBits(HTRANSFORM,PVOID,BMFORMAT,DWORD,DWORD,DWORD,PVOID,BMFORMAT,DWORD,PBMCALLBACKFN,ULONG); | 
 
 
 
 
 | 349 | BOOL WINAPI TranslateColors(HTRANSFORM,PCOLOR,DWORD,COLORTYPE,PCOLOR,COLORTYPE); | 
 
 
 
 
 | 350 | BOOL WINAPI UninstallColorProfileA(PCSTR,PCSTR,BOOL); | 
 
 
 
 
 | 351 | BOOL WINAPI UninstallColorProfileW(PCWSTR,PCWSTR,BOOL); | 
 
 
 
 
 | 352 | BOOL WINAPI UnregisterCMMA(PCSTR,DWORD); | 
 
 
 
 
 | 353 | BOOL WINAPI UnregisterCMMW(PCWSTR,DWORD); | 
 
 
 
 
 | 354 |  | 
 
 
 
 
 | 355 | #ifdef UNICODE | 
 
 
 
 
 | 356 | typedef PCMSCALLBACKW PCMSCALLBACK; | 
 
 
 
 
 | 357 | typedef COLORMATCHSETUPW COLORMATCHSETUP,*PCOLORMATCHSETUP,*LPCOLORMATCHSETUP; | 
 
 
 
 
 | 358 | typedef ENUMTYPEW ENUMTYPE,*PENUMTYPE,*LPENUMTYPE; | 
 
 
 
 
 | 359 | #define AssociateColorProfileWithDevice AssociateColorProfileWithDeviceW | 
 
 
 
 
 | 360 | #define CreateColorTransform CreateColorTransformW | 
 
 
 
 
 | 361 | #define CreateProfileFromLogColorSpace CreateProfileFromLogColorSpaceW | 
 
 
 
 
 | 362 | #define DisassociateColorProfileFromDevice DisassociateColorProfileFromDeviceW | 
 
 
 
 
 | 363 | #define EnumColorProfiles EnumColorProfilesW | 
 
 
 
 
 | 364 | #define GetColorDirectory GetColorDirectoryW | 
 
 
 
 
 | 365 | #define GetStandardColorSpaceProfile GetStandardColorSpaceProfileW | 
 
 
 
 
 | 366 | #define InstallColorProfile InstallColorProfileW | 
 
 
 
 
 | 367 | #define OpenColorProfile OpenColorProfileW | 
 
 
 
 
 | 368 | #define RegisterCMM RegisterCMMW | 
 
 
 
 
 | 369 | #define SetStandardColorSpaceProfile SetStandardColorSpaceProfileW | 
 
 
 
 
 | 370 | #define SetupColorMatching SetupColorMatchingW | 
 
 
 
 
 | 371 | #define UninstallColorProfile UninstallColorProfileW | 
 
 
 
 
 | 372 | #define UnregisterCMM UnregisterCMMW | 
 
 
 
 
 | 373 | #else /* UNICODE */ | 
 
 
 
 
 | 374 | typedef PCMSCALLBACKA PCMSCALLBACK; | 
 
 
 
 
 | 375 | typedef COLORMATCHSETUPA COLORMATCHSETUP,*PCOLORMATCHSETUP,*LPCOLORMATCHSETUP; | 
 
 
 
 
 | 376 | typedef ENUMTYPEA ENUMTYPE,*PENUMTYPE,*LPENUMTYPE; | 
 
 
 
 
 | 377 | #define AssociateColorProfileWithDevice AssociateColorProfileWithDeviceA | 
 
 
 
 
 | 378 | #define CreateColorTransform CreateColorTransformA | 
 
 
 
 
 | 379 | #define CreateProfileFromLogColorSpace CreateProfileFromLogColorSpaceA | 
 
 
 
 
 | 380 | #define DisassociateColorProfileFromDevice DisassociateColorProfileFromDeviceA | 
 
 
 
 
 | 381 | #define EnumColorProfiles EnumColorProfilesA | 
 
 
 
 
 | 382 | #define GetColorDirectory GetColorDirectoryA | 
 
 
 
 
 | 383 | #define GetStandardColorSpaceProfile GetStandardColorSpaceProfileA | 
 
 
 
 
 | 384 | #define InstallColorProfile InstallColorProfileA | 
 
 
 
 
 | 385 | #define OpenColorProfile OpenColorProfileA | 
 
 
 
 
 | 386 | #define RegisterCMM RegisterCMMA | 
 
 
 
 
 | 387 | #define SetStandardColorSpaceProfile SetStandardColorSpaceProfileA | 
 
 
 
 
 | 388 | #define SetupColorMatching SetupColorMatchingA | 
 
 
 
 
 | 389 | #define UninstallColorProfile UninstallColorProfileA | 
 
 
 
 
 | 390 | #define UnregisterCMM UnregisterCMMA | 
 
 
 
 
 | 391 | #endif /* !UNICODE */ | 
 
 
 
 
 | 392 |  | 
 
 
 
 
 | 393 | #endif /* (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) */ | 
 
 
 
 
 | 394 |  | 
 
 
 
 
 | 395 | #ifdef __cplusplus | 
 
 
 
 
 | 396 | } | 
 
 
 
 
 | 397 | #endif | 
 
 
 
 
 | 398 |  | 
 
 
 
 
 | 399 | #endif /* _ICM_H */ |