| 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 */ |