diff -r 000000000000 -r 76b1f169d9fe mingw-5.1.4/win32/include/icm.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mingw-5.1.4/win32/include/icm.h Fri Apr 03 17:16:45 2009 +0100 @@ -0,0 +1,399 @@ +#ifndef _ICM_H +#define _ICM_H +#if __GNUC__ >= 3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) +#define MAX_COLOR_CHANNELS 8 +#define PROFILE_FILENAME 1 +#define PROFILE_MEMBUFFER 2 +#define PROFILE_READ 1 +#define PROFILE_READWRITE 2 +#define CLASS_SCANNER 0x73636E72 +#define CLASS_MONITOR 0x6D6E7472 +#define CLASS_PRINTER 0x70727472 +#define CLASS_LINK 0x6C696E6B +#define CLASS_COLORSPAC 0x73706163 +#define CLASS_ABSTRACT 0x61627374 +#define CLASS_NAMED 0x6E6D636C +#define SPACE_XYZ 0x58595A20 +#define SPACE_Lab 0x4C616220 +#define SPACE_Luv 0x4C757620 +#define SPACE_YCbCr 0x59436272 +#define SPACE_Yxy 0x59787920 +#define SPACE_RGB 0x52474220 +#define SPACE_GRAY 0x47524159 +#define SPACE_HSV 0x48535620 +#define SPACE_HLS 0x484C5320 +#define SPACE_CMYK 0x434D594B +#define SPACE_CMY 0x434D5920 +#define SPACE_2_CHANNEL 0x32434C52 +#define SPACE_3_CHANNEL 0x33434C52 +#define SPACE_4_CHANNEL 0x34434C52 +#define SPACE_5_CHANNEL 0x35434C52 +#define SPACE_6_CHANNEL 0x36434C52 +#define SPACE_7_CHANNEL 0x37434C52 +#define SPACE_8_CHANNEL 0x38434C52 +#define FLAG_EMBEDDEDPROFILE 1 +#define FLAG_DEPENDENTONDATA 2 +#define ATTRIB_TRANSPARENCY 1 +#define ATTRIB_MATTE 2 +#define INTENT_PERCEPTUAL 0 +#define INTENT_RELATIVE_COLORIMETRIC 1 +#define INTENT_SATURATION 2 +#define INTENT_ABSOLUTE_COLORIMETRIC 3 +#define COLOR_MATCH_VERSION 0x200 +#define CMS_DISABLEICM 0x1 +#define CMS_ENABLEPROOFING 0x2 +#define CMS_SETRENDERINTENT 0x4 +#define CMS_SETPROOFINTENT 0x8 +#define CMS_SETMONITORPROFILE 0x10 +#define CMS_SETPRINTERPROFILE 0x20 +#define CMS_SETTARGETPROFILE 0x40 +#define CMS_USEHOOK 0x80 +#define CMS_USEAPPLYCALLBACK 0x100 +#define CMS_USEDESCRIPTION 0x200 +#define CMS_TARGETOVERFLOW 0x20000000 +#define CMS_PRINTERROVERFLOW 0x40000000 +#define CMS_MONITOROVERFLOW 0x80000000 + +DECLARE_HANDLE(HPROFILE); +typedef HPROFILE *PHPROFILE,*LPHPROFILE; +DECLARE_HANDLE(HTRANSFORM);\ + +typedef BOOL (CALLBACK *PBMCALLBACKFN)(ULONG,ULONG,LPARAM); +struct _tagCOLORMATCHSETUPA; +struct _tagCOLORMATCHSETUPW; +typedef BOOL (CALLBACK *PCMSCALLBACKA)(struct _tagCOLORMATCHSETUPA*,LPARAM); +typedef BOOL (CALLBACK *PCMSCALLBACKW)(struct _tagCOLORMATCHSETUPW*,LPARAM); + +typedef CHAR COLOR_NAME[32]; +typedef COLOR_NAME *PCOLOR_NAME,*LPCOLOR_NAME; +typedef DWORD TAGTYPE,*PTAGTYPE,*LPTAGTYPE; +typedef enum +{ + BM_x555RGB = 0x0000, + BM_x555XYZ = 0x0101, + BM_x555Yxy, + BM_x555Lab, + BM_x555G3CH, + BM_RGBTRIPLETS = 0x0002, + BM_BGRTRIPLETS = 0x0004, + BM_XYZTRIPLETS = 0x0201, + BM_YxyTRIPLETS, + BM_LabTRIPLETS, + BM_G3CHTRIPLETS, + BM_5CHANNEL, + BM_6CHANNEL, + BM_7CHANNEL, + BM_8CHANNEL, + BM_GRAY, + BM_xRGBQUADS = 0x0008, + BM_xBGRQUADS = 0x0010, + BM_xG3CHQUADS = 0x0304, + BM_KYMCQUADS, + BM_CMYKQUADS = 0x0020, + BM_10b_RGB = 0x0009, + BM_10b_XYZ = 0x0401, + BM_10b_Yxy, + BM_10b_Lab, + BM_10b_G3CH, + BM_NAMED_INDEX, + BM_16b_RGB = 0x000A, + BM_16b_XYZ = 0x0501, + BM_16b_Yxy, + BM_16b_Lab, + BM_16b_G3CH, + BM_16b_GRAY, + BM_565RGB = 0x0001 +} BMFORMAT,*PBMFORMAT,*LPBMFORMAT; +typedef enum +{ + COLOR_GRAY = 1, + COLOR_RGB, + COLOR_XYZ, + COLOR_Yxy, + COLOR_Lab, + COLOR_3_CHANNEL, + COLOR_CMYK, + COLOR_5_CHANNEL, + COLOR_6_CHANNEL, + COLOR_7_CHANNEL, + COLOR_8_CHANNEL, + COLOR_NAMED +} COLORTYPE,*PCOLORTYPE,*LPCOLORTYPE; +struct GRAYCOLOR { + WORD gray; +}; +struct RGBCOLOR { + WORD red; + WORD green; + WORD blue; +}; +struct CMYKCOLOR { + WORD cyan; + WORD magenta; + WORD yellow; + WORD black; +}; +struct XYZCOLOR { + WORD X; + WORD Y; + WORD Z; +}; +struct YxyCOLOR { + WORD Y; + WORD x; + WORD y; +}; +struct LabCOLOR { + WORD L; + WORD a; + WORD b; +}; +struct GENERIC3CHANNEL { + WORD ch1; + WORD ch2; + WORD ch3; +}; +struct NAMEDCOLOR { + DWORD dwIndex; +}; +struct HiFiCOLOR { + BYTE channel[MAX_COLOR_CHANNELS]; +}; +typedef union tagCOLOR { + struct GRAYCOLOR gray; + struct RGBCOLOR rgb; + struct CMYKCOLOR cmyk; + struct XYZCOLOR XYZ; + struct YxyCOLOR Yxy; + struct LabCOLOR Lab; + struct GENERIC3CHANNEL gen3ch; + struct NAMEDCOLOR named; + struct HiFiCOLOR hifi; +} COLOR,*PCOLOR,*LPCOLOR; +typedef struct _tagCOLORMATCHSETUPA { + DWORD dwSize; + DWORD dwVersion; + DWORD dwFlags; + HWND hwndOwner; + PCSTR pSourceName; + PCSTR pDisplayName; + PCSTR pPrinterName; + DWORD dwRenderIntent; + DWORD dwProofingIntent; + PSTR pMonitorProfile; + DWORD ccMonitorProfile; + PSTR pPrinterProfile; + DWORD ccPrinterProfile; + PSTR pTargetProfile; + DWORD ccTargetProfile; + DLGPROC lpfnHook; + LPARAM lParam; + PCMSCALLBACKA lpfnApplyCallback; + LPARAM lParamApplyCallback; +} COLORMATCHSETUPA,*PCOLORMATCHSETUPA,*LPCOLORMATCHSETUPA; +typedef struct _tagCOLORMATCHSETUPW { + DWORD dwSize; + DWORD dwVersion; + DWORD dwFlags; + HWND hwndOwner; + PCWSTR pSourceName; + PCWSTR pDisplayName; + PCWSTR pPrinterName; + DWORD dwRenderIntent; + DWORD dwProofingIntent; + PWSTR pMonitorProfile; + DWORD ccMonitorProfile; + PWSTR pPrinterProfile; + DWORD ccPrinterProfile; + PWSTR pTargetProfile; + DWORD ccTargetProfile; + DLGPROC lpfnHook; + LPARAM lParam; + PCMSCALLBACKW lpfnApplyCallback; + LPARAM lParamApplyCallback; +} COLORMATCHSETUPW,*PCOLORMATCHSETUPW,*LPCOLORMATCHSETUPW; +typedef struct tagENUMTYPEW { + DWORD dwSize; + DWORD dwVersion; + DWORD dwFields; + PCWSTR pDeviceName; + DWORD dwMediaType; + DWORD dwDitheringMode; + DWORD dwResolution[2]; + DWORD dwCMMType; + DWORD dwClass; + DWORD dwDataColorSpace; + DWORD dwConnectionSpace; + DWORD dwSignature; + DWORD dwPlatform; + DWORD dwProfileFlags; + DWORD dwManufacturer; + DWORD dwModel; + DWORD dwAttributes[2]; + DWORD dwRenderingIntent; + DWORD dwCreator; + DWORD dwDeviceClass; +} ENUMTYPEW,*PENUMTYPEW,*LPENUMTYPEW; +typedef struct tagENUMTYPEA { + DWORD dwSize; + DWORD dwVersion; + DWORD dwFields; + PCSTR pDeviceName; + DWORD dwMediaType; + DWORD dwDitheringMode; + DWORD dwResolution[2]; + DWORD dwCMMType; + DWORD dwClass; + DWORD dwDataColorSpace; + DWORD dwConnectionSpace; + DWORD dwSignature; + DWORD dwPlatform; + DWORD dwProfileFlags; + DWORD dwManufacturer; + DWORD dwModel; + DWORD dwAttributes[2]; + DWORD dwRenderingIntent; + DWORD dwCreator; + DWORD dwDeviceClass; +} ENUMTYPEA,*PENUMTYPEA,*LPENUMTYPEA; +typedef struct tagNAMED_PROFILE_INFO{ + DWORD dwFlags; + DWORD dwCount; + DWORD dwCountDevCoordinates; + COLOR_NAME szPrefix; + COLOR_NAME szSuffix; +} NAMED_PROFILE_INFO,*PNAMED_PROFILE_INFO,*LPNAMED_PROFILE_INFO; +typedef struct tagPROFILE { + DWORD dwType; + PVOID pProfileData; + DWORD cbDataSize; +} PROFILE,*PPROFILE,*LPPROFILE; +typedef struct tagPROFILEHEADER { + DWORD phSize; + DWORD phCMMType; + DWORD phVersion; + DWORD phClass; + DWORD phDataColorSpace; + DWORD phConnectionSpace; + DWORD phDateTime[3]; + DWORD phSignature; + DWORD phPlatform; + DWORD phProfileFlags; + DWORD phManufacturer; + DWORD phModel; + DWORD phAttributes[2]; + DWORD phRenderingIntent; + CIEXYZ phIlluminant; + DWORD phCreator; + BYTE phReserved[44]; +} PROFILEHEADER,*PPROFILEHEADER,*LPPROFILEHEADER; + +BOOL WINAPI AssociateColorProfileWithDeviceA(PCSTR,PCSTR,PCSTR); +BOOL WINAPI AssociateColorProfileWithDeviceW(PCWSTR,PCWSTR,PCWSTR); +BOOL WINAPI CheckBitmapBits(HTRANSFORM,PVOID,BMFORMAT,DWORD,DWORD,DWORD,PBYTE,PBMCALLBACKFN,LPARAM); +BOOL WINAPI CheckColors(HTRANSFORM,PCOLOR,DWORD,COLORTYPE,PBYTE); +BOOL WINAPI CloseColorProfile(HPROFILE); +BOOL WINAPI ConvertColorNameToIndex(HPROFILE,PCOLOR_NAME,PDWORD,DWORD); +BOOL WINAPI ConvertIndexToColorName(HPROFILE,PDWORD,PCOLOR_NAME,DWORD); +HTRANSFORM WINAPI CreateColorTransformA(LPLOGCOLORSPACEA,HPROFILE,HPROFILE,DWORD); +HTRANSFORM WINAPI CreateColorTransformW(LPLOGCOLORSPACEW,HPROFILE,HPROFILE,DWORD); +BOOL WINAPI CreateDeviceLinkProfile(PHPROFILE,DWORD,PDWORD,DWORD,DWORD,PBYTE*,DWORD); +HTRANSFORM WINAPI CreateMultiProfileTransform(PHPROFILE,DWORD,PDWORD,DWORD,DWORD,DWORD); +BOOL WINAPI CreateProfileFromLogColorSpaceA(LPLOGCOLORSPACEA,PBYTE*); +BOOL WINAPI CreateProfileFromLogColorSpaceW(LPLOGCOLORSPACEW,PBYTE*); +BOOL WINAPI DeleteColorTransform(HTRANSFORM); +BOOL WINAPI DisassociateColorProfileFromDeviceA(PCSTR,PCSTR,PCSTR); +BOOL WINAPI DisassociateColorProfileFromDeviceW(PCWSTR,PCWSTR,PCWSTR); +BOOL WINAPI EnumColorProfilesA(PCSTR,PENUMTYPEA,PBYTE,PDWORD,PDWORD); +BOOL WINAPI EnumColorProfilesW(PCWSTR,PENUMTYPEW,PBYTE,PDWORD,PDWORD); +DWORD WINAPI GetCMMInfo(HTRANSFORM,DWORD); +BOOL WINAPI GetColorDirectoryA(PCSTR,PSTR,PDWORD); +BOOL WINAPI GetColorDirectoryW(PCWSTR,PWSTR,PDWORD); +BOOL WINAPI GetColorProfileElement(HPROFILE,TAGTYPE,DWORD,PDWORD,PVOID,PBOOL); +BOOL WINAPI GetColorProfileElementTag(HPROFILE,DWORD,PTAGTYPE); +BOOL WINAPI GetColorProfileFromHandle(HPROFILE,PBYTE,PDWORD); +BOOL WINAPI GetColorProfileHeader(HPROFILE,PPROFILEHEADER); +BOOL WINAPI GetCountColorProfileElements(HPROFILE,PDWORD); +BOOL WINAPI GetNamedProfileInfo(HPROFILE,PNAMED_PROFILE_INFO); +BOOL WINAPI GetPS2ColorRenderingDictionary(HPROFILE,DWORD,PBYTE,PDWORD,PBOOL); +BOOL WINAPI GetPS2ColorRenderingIntent(HPROFILE,DWORD,PBYTE,PDWORD); +BOOL WINAPI GetPS2ColorSpaceArray(HPROFILE,DWORD,DWORD,PBYTE,PDWORD,PBOOL); +BOOL WINAPI GetStandardColorSpaceProfileA(PCSTR,DWORD,PSTR,PDWORD); +BOOL WINAPI GetStandardColorSpaceProfileW(PCWSTR,DWORD,PWSTR,PDWORD); +BOOL WINAPI InstallColorProfileA(PCSTR,PCSTR); +BOOL WINAPI InstallColorProfileW(PCWSTR,PCWSTR); +BOOL WINAPI IsColorProfileTagPresent(HPROFILE,TAGTYPE,PBOOL); +BOOL WINAPI IsColorProfileValid(HPROFILE,PBOOL); +HPROFILE WINAPI OpenColorProfileA(PPROFILE,DWORD,DWORD,DWORD); +HPROFILE WINAPI OpenColorProfileW(PPROFILE,DWORD,DWORD,DWORD); +BOOL WINAPI RegisterCMMA(PCSTR,DWORD,PCSTR); +BOOL WINAPI RegisterCMMW(PCWSTR,DWORD,PCWSTR); +BOOL WINAPI SelectCMM(DWORD); +BOOL WINAPI SetColorProfileElement(HPROFILE,TAGTYPE,DWORD,PDWORD,PVOID); +BOOL WINAPI SetColorProfileElementReference(HPROFILE,TAGTYPE,TAGTYPE); +BOOL WINAPI SetColorProfileElementSize(HPROFILE,TAGTYPE,DWORD); +BOOL WINAPI SetColorProfileHeader(HPROFILE,PPROFILEHEADER); +BOOL WINAPI SetStandardColorSpaceProfileA(PCSTR,DWORD,PCSTR); +BOOL WINAPI SetStandardColorSpaceProfileW(PCWSTR,DWORD,PCSTR); +BOOL WINAPI SetupColorMatchingA(PCOLORMATCHSETUPA); +BOOL WINAPI SetupColorMatchingW(PCOLORMATCHSETUPW); +BOOL WINAPI TranslateBitmapBits(HTRANSFORM,PVOID,BMFORMAT,DWORD,DWORD,DWORD,PVOID,BMFORMAT,DWORD,PBMCALLBACKFN,ULONG); +BOOL WINAPI TranslateColors(HTRANSFORM,PCOLOR,DWORD,COLORTYPE,PCOLOR,COLORTYPE); +BOOL WINAPI UninstallColorProfileA(PCSTR,PCSTR,BOOL); +BOOL WINAPI UninstallColorProfileW(PCWSTR,PCWSTR,BOOL); +BOOL WINAPI UnregisterCMMA(PCSTR,DWORD); +BOOL WINAPI UnregisterCMMW(PCWSTR,DWORD); + +#ifdef UNICODE +typedef PCMSCALLBACKW PCMSCALLBACK; +typedef COLORMATCHSETUPW COLORMATCHSETUP,*PCOLORMATCHSETUP,*LPCOLORMATCHSETUP; +typedef ENUMTYPEW ENUMTYPE,*PENUMTYPE,*LPENUMTYPE; +#define AssociateColorProfileWithDevice AssociateColorProfileWithDeviceW +#define CreateColorTransform CreateColorTransformW +#define CreateProfileFromLogColorSpace CreateProfileFromLogColorSpaceW +#define DisassociateColorProfileFromDevice DisassociateColorProfileFromDeviceW +#define EnumColorProfiles EnumColorProfilesW +#define GetColorDirectory GetColorDirectoryW +#define GetStandardColorSpaceProfile GetStandardColorSpaceProfileW +#define InstallColorProfile InstallColorProfileW +#define OpenColorProfile OpenColorProfileW +#define RegisterCMM RegisterCMMW +#define SetStandardColorSpaceProfile SetStandardColorSpaceProfileW +#define SetupColorMatching SetupColorMatchingW +#define UninstallColorProfile UninstallColorProfileW +#define UnregisterCMM UnregisterCMMW +#else /* UNICODE */ +typedef PCMSCALLBACKA PCMSCALLBACK; +typedef COLORMATCHSETUPA COLORMATCHSETUP,*PCOLORMATCHSETUP,*LPCOLORMATCHSETUP; +typedef ENUMTYPEA ENUMTYPE,*PENUMTYPE,*LPENUMTYPE; +#define AssociateColorProfileWithDevice AssociateColorProfileWithDeviceA +#define CreateColorTransform CreateColorTransformA +#define CreateProfileFromLogColorSpace CreateProfileFromLogColorSpaceA +#define DisassociateColorProfileFromDevice DisassociateColorProfileFromDeviceA +#define EnumColorProfiles EnumColorProfilesA +#define GetColorDirectory GetColorDirectoryA +#define GetStandardColorSpaceProfile GetStandardColorSpaceProfileA +#define InstallColorProfile InstallColorProfileA +#define OpenColorProfile OpenColorProfileA +#define RegisterCMM RegisterCMMA +#define SetStandardColorSpaceProfile SetStandardColorSpaceProfileA +#define SetupColorMatching SetupColorMatchingA +#define UninstallColorProfile UninstallColorProfileA +#define UnregisterCMM UnregisterCMMA +#endif /* !UNICODE */ + +#endif /* (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) */ + +#ifdef __cplusplus +} +#endif + +#endif /* _ICM_H */