icm.h (5.2.3790.3959-Windows 5.0) | | icm.h (6.0.6002.18005-Windows 6.0) |
| | |
skipping to change at line 36 | | skipping to change at line 36 |
#endif | | #endif |
| | |
// | | // |
// Support for named color profiles | | // Support for named color profiles |
// | | // |
| | |
typedef char COLOR_NAME[32]; | | typedef char COLOR_NAME[32]; |
typedef COLOR_NAME *PCOLOR_NAME, *LPCOLOR_NAME; | | typedef COLOR_NAME *PCOLOR_NAME, *LPCOLOR_NAME; |
| | |
typedef struct tagNAMED_PROFILE_INFO{ | | typedef struct tagNAMED_PROFILE_INFO{ |
|
DWORD dwFlags; | | DWORD dwFlags; |
DWORD dwCount; | | DWORD dwCount; |
DWORD dwCountDevCoordinates; | | DWORD dwCountDevCoordinates; |
COLOR_NAME szPrefix; | | COLOR_NAME szPrefix; |
COLOR_NAME szSuffix; | | COLOR_NAME szSuffix; |
}NAMED_PROFILE_INFO; | | } NAMED_PROFILE_INFO; |
typedef NAMED_PROFILE_INFO *PNAMED_PROFILE_INFO, *LPNAMED_PROFILE_INFO; | | typedef NAMED_PROFILE_INFO *PNAMED_PROFILE_INFO, *LPNAMED_PROFILE_INFO; |
| | |
// | | // |
// Color spaces | | // Color spaces |
// | | // |
// The following color spaces are supported. | | // The following color spaces are supported. |
// Gray, RGB, CMYK, XYZ, Yxy, Lab, generic 3 channel color spaces where | | // Gray, RGB, CMYK, XYZ, Yxy, Lab, generic 3 channel color spaces where |
// the profiles defines how to interpret the 3 channels, named color spaces | | // the profiles defines how to interpret the 3 channels, named color spaces |
// which can either be indices into the space or have color names, and | | // which can either be indices into the space or have color names, and |
|
// multichannel spaces with 1 byte per channel upto MAX_COLOR_CHANNELS. | | // multichannel spaces with 1 byte per channel up to MAX_COLOR_CHANNELS. |
// | | // |
| | |
#define MAX_COLOR_CHANNELS 8 // maximum number of HiFi color channels | | #define MAX_COLOR_CHANNELS 8 // maximum number of HiFi color channels |
| | |
struct GRAYCOLOR { | | struct GRAYCOLOR { |
WORD gray; | | WORD gray; |
}; | | }; |
| | |
struct RGBCOLOR { | | struct RGBCOLOR { |
WORD red; | | WORD red; |
| | |
skipping to change at line 105 | | skipping to change at line 105 |
}; | | }; |
| | |
struct NAMEDCOLOR { | | struct NAMEDCOLOR { |
DWORD dwIndex; | | DWORD dwIndex; |
}; | | }; |
| | |
struct HiFiCOLOR { | | struct HiFiCOLOR { |
BYTE channel[MAX_COLOR_CHANNELS]; | | BYTE channel[MAX_COLOR_CHANNELS]; |
}; | | }; |
| | |
|
| | #if _MSC_VER > 1200 |
| | #pragma warning(push) |
| | #pragma warning(disable:4201) // nameless struct/union |
| | #endif |
| | |
typedef union tagCOLOR { | | typedef union tagCOLOR { |
struct GRAYCOLOR gray; | | struct GRAYCOLOR gray; |
struct RGBCOLOR rgb; | | struct RGBCOLOR rgb; |
struct CMYKCOLOR cmyk; | | struct CMYKCOLOR cmyk; |
struct XYZCOLOR XYZ; | | struct XYZCOLOR XYZ; |
struct YxyCOLOR Yxy; | | struct YxyCOLOR Yxy; |
struct LabCOLOR Lab; | | struct LabCOLOR Lab; |
struct GENERIC3CHANNEL gen3ch; | | struct GENERIC3CHANNEL gen3ch; |
struct NAMEDCOLOR named; | | struct NAMEDCOLOR named; |
struct HiFiCOLOR hifi; | | struct HiFiCOLOR hifi; |
| | |
struct { // alignment padding. | | struct { // alignment padding. |
DWORD reserved1; | | DWORD reserved1; |
VOID *reserved2; | | VOID *reserved2; |
}; | | }; |
| | |
} COLOR; | | } COLOR; |
typedef COLOR *PCOLOR, *LPCOLOR; | | typedef COLOR *PCOLOR, *LPCOLOR; |
| | |
|
| | #if _MSC_VER > 1200 |
| | #pragma warning(pop) |
| | #endif |
| | |
typedef enum { | | typedef enum { |
|
COLOR_GRAY = 1, | | COLOR_GRAY = 1, |
COLOR_RGB, | | COLOR_RGB, |
COLOR_XYZ, | | COLOR_XYZ, |
COLOR_Yxy, | | COLOR_Yxy, |
COLOR_Lab, | | COLOR_Lab, |
COLOR_3_CHANNEL, // WORD per channel | | COLOR_3_CHANNEL, // WORD per channel |
COLOR_CMYK, | | COLOR_CMYK, |
COLOR_5_CHANNEL, // BYTE per channel | | COLOR_5_CHANNEL, // BYTE per channel |
COLOR_6_CHANNEL, // - do - | | COLOR_6_CHANNEL, // - do - |
COLOR_7_CHANNEL, // - do - | | COLOR_7_CHANNEL, // - do - |
COLOR_8_CHANNEL, // - do - | | COLOR_8_CHANNEL, // - do - |
COLOR_NAMED, | | COLOR_NAMED, |
} COLORTYPE; | | } COLORTYPE; |
typedef COLORTYPE *PCOLORTYPE, *LPCOLORTYPE; | | typedef COLORTYPE *PCOLORTYPE, *LPCOLORTYPE; |
| | |
// | | // |
|
| | // Rendering Intents |
| | // |
| | // + INTENT_PERCEPTUAL = LCS_GM_IMAGES for LOGCOLORSPACE |
| | // = DMICM_CONTRAST for DEVMODE |
| | // = "Pictures" for SetupColorMathing/Printer UI |
| | // |
| | // + INTENT_RELATIVE_COLORIMETRIC = LCS_GM_GRAPHICS for LOGCOLORSPACE |
| | // = DMICM_COLORIMETRIC for DEVMODE |
| | // = "Proof" for SetupColorMatching/Printer UI |
| | // |
| | // + INTENT_SATURATION = LCS_GM_BUSINESS for LOGCOLORSPACE |
| | // = DMICM_SATURATE for DEVMODE |
| | // = "Graphics" for SetupColorMatching/Printer UI |
| | // |
| | // + INTENT_ABSOLUTE_COLORIMETRIC = LCS_GM_ABS_COLORIMETRIC for LOGCOLORSPACE |
| | // = DMICM_ABS_COLORIMETRIC for DEVMODE |
| | // = "Match" for SetupColorMatching/Printer UI |
| | // |
| | |
| | #define INTENT_PERCEPTUAL 0 |
| | #define INTENT_RELATIVE_COLORIMETRIC 1 |
| | #define INTENT_SATURATION 2 |
| | #define INTENT_ABSOLUTE_COLORIMETRIC 3 |
| | |
| | #if NTDDI_VERSION >= NTDDI_LONGHORN |
| | |
| | typedef enum { |
| | CPT_ICC, |
| | CPT_DMP, |
| | CPT_CAMP, |
| | CPT_GMMP |
| | } COLORPROFILETYPE; |
| | typedef COLORPROFILETYPE *PCOLORPROFILETYPE, *LPCOLORPROFILETYPE; |
| | |
| | typedef enum { |
| | |
| | // intent |
| | CPST_PERCEPTUAL = INTENT_PERCEPTUAL, |
| | CPST_RELATIVE_COLORIMETRIC = INTENT_RELATIVE_COLORIMETRIC, |
| | CPST_SATURATION = INTENT_SATURATION, |
| | CPST_ABSOLUTE_COLORIMETRIC = INTENT_ABSOLUTE_COLORIMETRIC, |
| | |
| | // working space |
| | CPST_NONE, |
| | CPST_RGB_WORKING_SPACE, |
| | CPST_CUSTOM_WORKING_SPACE, |
| | |
| | } COLORPROFILESUBTYPE; |
| | typedef COLORPROFILESUBTYPE *PCOLORPROFILESUBTYPE, *LPCOLORPROFILESUBTYPE; |
| | |
| | // |
| | // Device color data type |
| | // |
| | typedef enum { |
| | COLOR_BYTE = 1, // BYTE per channel. data range [0, 255] |
| | COLOR_WORD, // WORD per channel. data range [0, 65535] |
| | COLOR_FLOAT, // FLOAT per channel. IEEE 32-bit floating point |
| | COLOR_S2DOT13FIXED // WORD per channel. data range [-4, +4] using s |
| | 2.13 |
| | } COLORDATATYPE; |
| | typedef COLORDATATYPE *PCOLORDATATYPE, *LPCOLORDATATYPE; |
| | |
| | #endif // NTDDI_VERSION >= NTDDI_LONGHORN |
| | |
| | // |
// Bitmap formats supported | | // Bitmap formats supported |
// | | // |
| | |
typedef enum { | | typedef enum { |
| | |
// | | // |
// 16bpp - 5 bits per channel. The most significant bit is ignored. | | // 16bpp - 5 bits per channel. The most significant bit is ignored. |
// | | // |
| | |
BM_x555RGB = 0x0000, | | BM_x555RGB = 0x0000, |
| | |
skipping to change at line 218 | | skipping to change at line 291 |
BM_16b_Lab, | | BM_16b_Lab, |
BM_16b_G3CH, | | BM_16b_G3CH, |
BM_16b_GRAY, | | BM_16b_GRAY, |
| | |
// | | // |
// 16 bpp - 5 bits for Red & Blue, 6 bits for Green | | // 16 bpp - 5 bits for Red & Blue, 6 bits for Green |
// | | // |
| | |
BM_565RGB = 0x0001, | | BM_565RGB = 0x0001, |
| | |
|
| | //#if NTDDI_VERSION >= NTDDI_LONGHORN |
| | // |
| | // scRGB - 32 bits per channel floating point |
| | // 16 bits per channel floating point |
| | // |
| | |
| | BM_32b_scRGB = 0x0601, |
| | BM_32b_scARGB = 0x0602, |
| | BM_S2DOT13FIXED_scRGB = 0x0603, |
| | BM_S2DOT13FIXED_scARGB = 0x0604 |
| | //#endif // NTDDI_VERSION >= NTDDI_LONGHORN |
| | |
} BMFORMAT; | | } BMFORMAT; |
typedef BMFORMAT *PBMFORMAT, *LPBMFORMAT; | | typedef BMFORMAT *PBMFORMAT, *LPBMFORMAT; |
| | |
// | | // |
// Callback function definition | | // Callback function definition |
// | | // |
| | |
typedef BOOL (WINAPI *PBMCALLBACKFN)(ULONG, ULONG, LPARAM); | | typedef BOOL (WINAPI *PBMCALLBACKFN)(ULONG, ULONG, LPARAM); |
typedef PBMCALLBACKFN LPBMCALLBACKFN; | | typedef PBMCALLBACKFN LPBMCALLBACKFN; |
| | |
| | |
skipping to change at line 264 | | skipping to change at line 349 |
// Profile class values | | // Profile class values |
// | | // |
| | |
#define CLASS_MONITOR 'mntr' | | #define CLASS_MONITOR 'mntr' |
#define CLASS_PRINTER 'prtr' | | #define CLASS_PRINTER 'prtr' |
#define CLASS_SCANNER 'scnr' | | #define CLASS_SCANNER 'scnr' |
#define CLASS_LINK 'link' | | #define CLASS_LINK 'link' |
#define CLASS_ABSTRACT 'abst' | | #define CLASS_ABSTRACT 'abst' |
#define CLASS_COLORSPACE 'spac' | | #define CLASS_COLORSPACE 'spac' |
#define CLASS_NAMED 'nmcl' | | #define CLASS_NAMED 'nmcl' |
|
| | #if NTDDI_VERSION >= NTDDI_LONGHORN |
| | #define CLASS_CAMP 'camp' |
| | #define CLASS_GMMP 'gmmp' |
| | #endif // NTDDI_VERSION >= NTDDI_LONGHORN |
| | |
// | | // |
// Color space values | | // Color space values |
// | | // |
| | |
#define SPACE_XYZ 'XYZ ' | | #define SPACE_XYZ 'XYZ ' |
#define SPACE_Lab 'Lab ' | | #define SPACE_Lab 'Lab ' |
#define SPACE_Luv 'Luv ' | | #define SPACE_Luv 'Luv ' |
#define SPACE_YCbCr 'YCbr' | | #define SPACE_YCbCr 'YCbr' |
#define SPACE_Yxy 'Yxy ' | | #define SPACE_Yxy 'Yxy ' |
| | |
skipping to change at line 296 | | skipping to change at line 385 |
#define SPACE_8_CHANNEL '8CLR' | | #define SPACE_8_CHANNEL '8CLR' |
| | |
// | | // |
// Profile flag bitfield values | | // Profile flag bitfield values |
// | | // |
| | |
#define FLAG_EMBEDDEDPROFILE 0x00000001 | | #define FLAG_EMBEDDEDPROFILE 0x00000001 |
#define FLAG_DEPENDENTONDATA 0x00000002 | | #define FLAG_DEPENDENTONDATA 0x00000002 |
| | |
// | | // |
|
// Profile attributes bitfield values | | // Profile flag bits for vendor extensions (bytes 44..45 of the ICC profile head
er). |
// | | // |
| | |
|
#define ATTRIB_TRANSPARENCY 0x00000001 | | #if NTDDI_VERSION >= NTDDI_LONGHORN |
#define ATTRIB_MATTE 0x00000002 | | |
| | |
// | | // |
|
// Rendering Intents | | // Enable support for chromatic adaptation. |
// | | |
// + INTENT_PERCEPTUAL = LCS_GM_IMAGES for LOGCOLORSPACE | | |
// = DMICM_CONTRAST for DEVMODE | | |
// = "Pictures" for SetupColorMathing/Printer UI | | |
// | | |
// + INTENT_RELATIVE_COLORIMETRIC = LCS_GM_GRAPHICS for LOGCOLORSPACE | | |
// = DMICM_COLORIMETRIC for DEVMODE | | |
// = "Proof" for SetupColorMatching/Printer UI | | |
// | | // |
|
// + INTENT_SATURATION = LCS_GM_BUSINESS for LOGCOLORSPACE | | #define FLAG_ENABLE_CHROMATIC_ADAPTATION 0x02000000 |
// = DMICM_SATURATE for DEVMODE | | |
// = "Graphics" for SetupColorMatching/Printer UI | | #endif // NTDDI_VERSION >= NTDDI_LONGHORN |
| | |
// | | // |
|
// + INTENT_ABSOLUTE_COLORIMETRIC = LCS_GM_ABS_COLORIMETRIC for LOGCOLORSPACE | | // Profile attributes bitfield values |
// = DMICM_ABS_COLORIMETRIC for DEVMODE | | |
// = "Match" for SetupColorMatching/Printer UI | | |
// | | // |
| | |
|
#define INTENT_PERCEPTUAL 0 | | #define ATTRIB_TRANSPARENCY 0x00000001 |
#define INTENT_RELATIVE_COLORIMETRIC 1 | | #define ATTRIB_MATTE 0x00000002 |
#define INTENT_SATURATION 2 | | |
#define INTENT_ABSOLUTE_COLORIMETRIC 3 | | |
| | |
// | | // |
// Profile data structure | | // Profile data structure |
// | | // |
| | |
typedef struct tagPROFILE { | | typedef struct tagPROFILE { |
DWORD dwType; // profile type | | DWORD dwType; // profile type |
PVOID pProfileData; // filename or buffer containing profile | | PVOID pProfileData; // filename or buffer containing profile |
DWORD cbDataSize; // size of profile data | | DWORD cbDataSize; // size of profile data |
} PROFILE; | | } PROFILE; |
| | |
skipping to change at line 450 | | skipping to change at line 527 |
#define ET_SIGNATURE 0x00000100 | | #define ET_SIGNATURE 0x00000100 |
#define ET_PLATFORM 0x00000200 | | #define ET_PLATFORM 0x00000200 |
#define ET_PROFILEFLAGS 0x00000400 | | #define ET_PROFILEFLAGS 0x00000400 |
#define ET_MANUFACTURER 0x00000800 | | #define ET_MANUFACTURER 0x00000800 |
#define ET_MODEL 0x00001000 | | #define ET_MODEL 0x00001000 |
#define ET_ATTRIBUTES 0x00002000 | | #define ET_ATTRIBUTES 0x00002000 |
#define ET_RENDERINGINTENT 0x00004000 | | #define ET_RENDERINGINTENT 0x00004000 |
#define ET_CREATOR 0x00008000 | | #define ET_CREATOR 0x00008000 |
#define ET_DEVICECLASS 0x00010000 | | #define ET_DEVICECLASS 0x00010000 |
| | |
|
| | #if NTDDI_VERSION >= NTDDI_LONGHORN |
| | |
| | // |
| | // WCS profile management scope - system-wide and current-user |
| | // |
| | |
| | typedef enum |
| | { |
| | WCS_PROFILE_MANAGEMENT_SCOPE_SYSTEM_WIDE, |
| | WCS_PROFILE_MANAGEMENT_SCOPE_CURRENT_USER |
| | } WCS_PROFILE_MANAGEMENT_SCOPE; |
| | |
| | #endif // NTDDI_VERSION >= NTDDI_LONGHORN |
| | |
// | | // |
// Flags for creating color transforms | | // Flags for creating color transforms |
// | | // |
| | |
#define PROOF_MODE 0x00000001 | | #define PROOF_MODE 0x00000001 |
#define NORMAL_MODE 0x00000002 | | #define NORMAL_MODE 0x00000002 |
#define BEST_MODE 0x00000003 | | #define BEST_MODE 0x00000003 |
#define ENABLE_GAMUT_CHECKING 0x00010000 | | #define ENABLE_GAMUT_CHECKING 0x00010000 |
#define USE_RELATIVE_COLORIMETRIC 0x00020000 | | #define USE_RELATIVE_COLORIMETRIC 0x00020000 |
#define FAST_TRANSLATE 0x00040000 | | #define FAST_TRANSLATE 0x00040000 |
|
| | #if NTDDI_VERSION >= NTDDI_LONGHORN |
| | #define PRESERVEBLACK 0x00100000 |
| | #define WCS_ALWAYS 0x00200000 |
| | #endif // NTDDI_VERSION >= NTDDI_LONGHORN |
#define RESERVED 0x80000000 | | #define RESERVED 0x80000000 |
| | |
// | | // |
|
// Paremeter for GetPS2ColorSpaceArray | | // Parameter for GetPS2ColorSpaceArray |
// | | // |
| | |
#define CSA_A 1 | | #define CSA_A 1 |
#define CSA_ABC 2 | | #define CSA_ABC 2 |
#define CSA_DEF 3 | | #define CSA_DEF 3 |
#define CSA_DEFG 4 | | #define CSA_DEFG 4 |
#define CSA_GRAY 5 | | #define CSA_GRAY 5 |
#define CSA_RGB 6 | | #define CSA_RGB 6 |
#define CSA_CMYK 7 | | #define CSA_CMYK 7 |
#define CSA_Lab 8 | | #define CSA_Lab 8 |
| | |
skipping to change at line 607 | | skipping to change at line 702 |
| | |
PCMSCALLBACKA lpfnApplyCallback; // Callback Procedure address when apply
is pushed | | PCMSCALLBACKA lpfnApplyCallback; // Callback Procedure address when apply
is pushed |
LPARAM lParamApplyCallback; // Given to callback Procedure for apply | | LPARAM lParamApplyCallback; // Given to callback Procedure for apply |
| | |
} COLORMATCHSETUPA, *PCOLORMATCHSETUPA, *LPCOLORMATCHSETUPA; | | } COLORMATCHSETUPA, *PCOLORMATCHSETUPA, *LPCOLORMATCHSETUPA; |
| | |
// | | // |
// Windows API definitions | | // Windows API definitions |
// | | // |
| | |
|
HPROFILE WINAPI OpenColorProfileA(PPROFILE, DWORD, DWORD, DWORD); | | HPROFILE WINAPI OpenColorProfileA(__in PPROFILE pProfile, DWORD dwDesiredAcces |
HPROFILE WINAPI OpenColorProfileW(PPROFILE, DWORD, DWORD, DWORD); | | s, DWORD dwShareMode, DWORD dwCreationMode); |
BOOL WINAPI CloseColorProfile(HPROFILE); | | HPROFILE WINAPI OpenColorProfileW(__in PPROFILE pProfile, DWORD dwDesiredAcces |
BOOL WINAPI GetColorProfileFromHandle(HPROFILE, PBYTE, PDWORD); | | s, DWORD dwShareMode, DWORD dwCreationMode); |
BOOL WINAPI IsColorProfileValid(HPROFILE, PBOOL); | | BOOL WINAPI CloseColorProfile(__in_opt HPROFILE hProfile); |
BOOL WINAPI CreateProfileFromLogColorSpaceA(LPLOGCOLORSPACEA, PBYTE*); | | BOOL WINAPI GetColorProfileFromHandle(__in HPROFILE hProfile, __out_bcount |
BOOL WINAPI CreateProfileFromLogColorSpaceW(LPLOGCOLORSPACEW, PBYTE*); | | _opt(*pcbProfile) PBYTE pProfile, PDWORD pcbProfile); |
BOOL WINAPI GetCountColorProfileElements(HPROFILE, PDWORD); | | BOOL WINAPI IsColorProfileValid(__in HPROFILE hProfile, PBOOL pbValid); |
BOOL WINAPI GetColorProfileHeader(HPROFILE, PPROFILEHEADER); | | BOOL WINAPI CreateProfileFromLogColorSpaceA(__in LPLOGCOLORSPACEA pLogColo |
BOOL WINAPI GetColorProfileElementTag(HPROFILE, DWORD, PTAGTYPE); | | rSpace, __deref_out PBYTE* pProfile); |
BOOL WINAPI IsColorProfileTagPresent(HPROFILE, TAGTYPE, PBOOL); | | BOOL WINAPI CreateProfileFromLogColorSpaceW(__in LPLOGCOLORSPACEW pLogColo |
BOOL WINAPI GetColorProfileElement(HPROFILE, TAGTYPE, DWORD, PDWORD, PVOID | | rSpace, __deref_out PBYTE* pProfile); |
, PBOOL); | | BOOL WINAPI GetCountColorProfileElements(__in HPROFILE hProfile, PDWORD pn |
BOOL WINAPI SetColorProfileHeader(HPROFILE, PPROFILEHEADER); | | ElementCount); |
BOOL WINAPI SetColorProfileElementSize(HPROFILE, TAGTYPE, DWORD); | | BOOL WINAPI GetColorProfileHeader(__in HPROFILE hProfile, __out PPROFILEHE |
BOOL WINAPI SetColorProfileElement(HPROFILE, TAGTYPE, DWORD, PDWORD, PVOID | | ADER pHeader); |
); | | BOOL WINAPI GetColorProfileElementTag(__in HPROFILE hProfile, DWORD dwInde |
BOOL WINAPI SetColorProfileElementReference(HPROFILE, TAGTYPE, TAGTYPE); | | x, __out PTAGTYPE pTag); |
BOOL WINAPI GetPS2ColorSpaceArray (HPROFILE, DWORD, DWORD, PBYTE, PDWORD, | | BOOL WINAPI IsColorProfileTagPresent(__in HPROFILE hProfile, TAGTYPE tag, |
PBOOL); | | __out PBOOL pbPresent); |
BOOL WINAPI GetPS2ColorRenderingIntent(HPROFILE, DWORD, PBYTE, PDWORD); | | BOOL WINAPI GetColorProfileElement(__in HPROFILE hProfile, TAGTYPE tag, DW |
BOOL WINAPI GetPS2ColorRenderingDictionary(HPROFILE, DWORD, PBYTE, PDWORD, | | ORD dwOffset, PDWORD pcbElement, __out_bcount_opt(*pcbElement) PVOID pElement, _ |
PBOOL); | | _out PBOOL pbReference); |
BOOL WINAPI GetNamedProfileInfo(HPROFILE, PNAMED_PROFILE_INFO); | | BOOL WINAPI SetColorProfileHeader(__in HPROFILE hProfile, __in_bcount(size |
BOOL WINAPI ConvertColorNameToIndex(HPROFILE, PCOLOR_NAME, PDWORD, DWORD); | | of(PROFILEHEADER)) PPROFILEHEADER pHeader); |
BOOL WINAPI ConvertIndexToColorName(HPROFILE, PDWORD, PCOLOR_NAME, DWORD); | | BOOL WINAPI SetColorProfileElementSize(__in HPROFILE hProfile, TAGTYPE tag |
BOOL WINAPI CreateDeviceLinkProfile(PHPROFILE, DWORD, PDWORD, DWORD, DWORD | | Type, DWORD pcbElement); |
, PBYTE*, DWORD); | | BOOL WINAPI SetColorProfileElement(__in HPROFILE hProfile, TAGTYPE tag, DW |
HTRANSFORM WINAPI CreateColorTransformA(LPLOGCOLORSPACEA, HPROFILE, HPROFILE, DW | | ORD dwOffset, PDWORD pcbElement, __in_ecount(*pcbElement) PVOID pElement); |
ORD); | | BOOL WINAPI SetColorProfileElementReference(__in HPROFILE hProfile, TAGTYP |
HTRANSFORM WINAPI CreateColorTransformW(LPLOGCOLORSPACEW, HPROFILE, HPROFILE, DW | | E newTag, TAGTYPE refTag); |
ORD); | | BOOL WINAPI GetPS2ColorSpaceArray(__in HPROFILE hProfile, DWORD dwIntent, |
HTRANSFORM WINAPI CreateMultiProfileTransform(PHPROFILE, DWORD, PDWORD, DWORD, D | | DWORD dwCSAType, __out_opt PBYTE pPS2ColorSpaceArray, PDWORD pcbPS2ColorSpaceArr |
WORD, DWORD); | | ay, __out PBOOL pbBinary); |
BOOL WINAPI DeleteColorTransform(HTRANSFORM); | | BOOL WINAPI GetPS2ColorRenderingIntent(__in HPROFILE hProfile, DWORD dwInt |
BOOL WINAPI TranslateBitmapBits(HTRANSFORM, PVOID, BMFORMAT, DWORD, DWORD, | | ent, __out_bcount_opt(*pcbPS2ColorRenderingIntent) PBYTE pBuffer, PDWORD pcbPS2C |
DWORD, PVOID, BMFORMAT, DWORD, PBMCALLBACKFN, LPARAM); | | olorRenderingIntent); |
BOOL WINAPI CheckBitmapBits(HTRANSFORM , PVOID, BMFORMAT, DWORD, DWORD, DW | | BOOL WINAPI GetPS2ColorRenderingDictionary(__in HPROFILE hProfile, DWORD d |
ORD, PBYTE, PBMCALLBACKFN, LPARAM); | | wIntent, __out_bcount_opt(*pcbPS2ColorRenderingDictionary) PBYTE pPS2ColorRender |
BOOL WINAPI TranslateColors(HTRANSFORM, PCOLOR, DWORD, COLORTYPE, PCOLOR, | | ingDictionary, PDWORD pcbPS2ColorRenderingDictionary, PBOOL pbBinary); |
COLORTYPE); | | BOOL WINAPI GetNamedProfileInfo(__in HPROFILE hProfile, __inout_bcount(siz |
BOOL WINAPI CheckColors(HTRANSFORM, PCOLOR, DWORD, COLORTYPE, PBYTE); | | eof(NAMED_PROFILE_INFO)) PNAMED_PROFILE_INFO pNamedProfileInfo); |
DWORD WINAPI GetCMMInfo(HTRANSFORM, DWORD); | | BOOL WINAPI ConvertColorNameToIndex(__in HPROFILE hProfile, __in_ecount(dw |
BOOL WINAPI RegisterCMMA(PCSTR, DWORD, PCSTR); | | Count) PCOLOR_NAME paColorName, __out_ecount(dwCount) PDWORD paIndex, DWORD dwCo |
BOOL WINAPI RegisterCMMW(PCWSTR, DWORD, PCWSTR); | | unt); |
BOOL WINAPI UnregisterCMMA(PCSTR, DWORD); | | BOOL WINAPI ConvertIndexToColorName(__in HPROFILE hProfile, __in_ecount(dw |
BOOL WINAPI UnregisterCMMW(PCWSTR, DWORD); | | Count) PDWORD paIndex, __out_ecount(dwCount) PCOLOR_NAME paColorName, DWORD dwCo |
BOOL WINAPI SelectCMM(DWORD); | | unt); |
| | BOOL WINAPI CreateDeviceLinkProfile(__in_ecount(nProfiles) PHPROFILE hProf |
| | ile, DWORD nProfiles, __in_ecount(nIntents) PDWORD padwIntent, DWORD nIntents, D |
| | WORD dwFlags, __out PBYTE* pProfileData, DWORD indexPreferredCMM); |
| | HTRANSFORM WINAPI CreateColorTransformA(__in LPLOGCOLORSPACEA pLogColorSpace, __ |
| | in HPROFILE hDestProfile, __in HPROFILE hTargetProfile, DWORD dwFlags); |
| | HTRANSFORM WINAPI CreateColorTransformW(__in LPLOGCOLORSPACEW pLogColorSpace, __ |
| | in HPROFILE hDestProfile, __in HPROFILE hTargetProfile, DWORD dwFlags); |
| | HTRANSFORM WINAPI CreateMultiProfileTransform(__in_ecount(nProfiles) PHPROFILE p |
| | ahProfiles, DWORD nProfiles, __in_ecount(nIntents) PDWORD padwIntent, DWORD nInt |
| | ents, DWORD dwFlags, DWORD indexPreferredCMM); |
| | BOOL WINAPI DeleteColorTransform(__inout HTRANSFORM hxform); |
| | BOOL WINAPI TranslateBitmapBits(__in HTRANSFORM hColorTransform, __in PVOI |
| | D pSrcBits, BMFORMAT bmInput, DWORD dwWidth, DWORD dwHeight, DWORD dwInputStride |
| | , __out PVOID pDestBits, BMFORMAT bmOutput, DWORD dwOutputStride, __in_opt __cal |
| | lback PBMCALLBACKFN pfnCallBack, __in_opt LPARAM ulCallbackData); |
| | BOOL WINAPI CheckBitmapBits(__in HTRANSFORM hColorTransform, __in PVOID pS |
| | rcBits, BMFORMAT bmInput, DWORD dwWidth, DWORD dwHeight, DWORD dwStride, __out_e |
| | count(dwWidth * dwHeight) PBYTE paResult, __in_opt __callback PBMCALLBACKFN pfnC |
| | allback, __in_opt LPARAM lpCallbackData); |
| | BOOL WINAPI TranslateColors(__in HTRANSFORM hColorTransform, __in_ecount(n |
| | Colors) PCOLOR paInputColors, DWORD nColors, COLORTYPE ctInput, __out_ecount(nCo |
| | lors) PCOLOR paOutputColors, COLORTYPE ctOutput); |
| | BOOL WINAPI CheckColors(__in HTRANSFORM hColorTransform, __in_ecount(nColo |
| | rs) PCOLOR paInputColors, DWORD nColors, COLORTYPE ctInput, __out_ecount(nColors |
| | ) PBYTE paResult); |
| | DWORD WINAPI GetCMMInfo(__in HTRANSFORM hColorTransform, __in DWORD); |
| | BOOL WINAPI RegisterCMMA(__in_opt PCSTR pMachineName, __in DWORD cmmID, __ |
| | in PCSTR pCMMdll); |
| | BOOL WINAPI RegisterCMMW(__in_opt PCWSTR pMachineName, __in DWORD cmmID, _ |
| | _in PCWSTR pCMMdll); |
| | BOOL WINAPI UnregisterCMMA(__in_opt PCSTR pMachineName, __in DWORD cmmID); |
| | BOOL WINAPI UnregisterCMMW(__in_opt PCWSTR pMachineName, __in DWORD cmmID) |
| | ; |
| | BOOL WINAPI SelectCMM(DWORD dwCMMType); |
| | |
BOOL | | BOOL |
WINAPI | | WINAPI |
GetColorDirectoryA( | | GetColorDirectoryA( |
|
__in PCSTR pMachineName, | | __in_opt PCSTR pMachineName, |
__out_bcount_part(*pdwSize, *pdwSize) PSTR pBuffer, | | __out_bcount_part_opt(*pdwSize, *pdwSize) PSTR pBuffer, |
__inout PDWORD pdwSize | | __inout PDWORD pdwSize |
); | | ); |
| | |
BOOL | | BOOL |
WINAPI | | WINAPI |
GetColorDirectoryW( | | GetColorDirectoryW( |
|
__in PCWSTR pMachineName, | | __in_opt PCWSTR pMachineName, |
__out_bcount_part(*pdwSize, *pdwSize) PWSTR pBuffer, | | __out_bcount_part_opt(*pdwSize, *pdwSize) PWSTR pBuffer, |
__inout PDWORD pdwSize | | __inout PDWORD pdwSize |
); | | ); |
| | |
|
BOOL WINAPI InstallColorProfileA(PCSTR, PCSTR); | | BOOL WINAPI InstallColorProfileA(__in_opt PCSTR pMachineName, __in PCSTR |
BOOL WINAPI InstallColorProfileW(PCWSTR, PCWSTR); | | pProfileName); |
BOOL WINAPI UninstallColorProfileA(PCSTR, PCSTR, BOOL); | | BOOL WINAPI InstallColorProfileW(__in_opt PCWSTR pMachineName, __in PCWSTR |
BOOL WINAPI UninstallColorProfileW(PCWSTR, PCWSTR, BOOL); | | pProfileName); |
BOOL WINAPI EnumColorProfilesA(PCSTR, PENUMTYPEA, PBYTE, PDWORD, PDWORD); | | BOOL WINAPI UninstallColorProfileA(__in_opt PCSTR pMachineName, __in PCST |
BOOL WINAPI EnumColorProfilesW(PCWSTR, PENUMTYPEW, PBYTE, PDWORD, PDWORD); | | R pProfileName, BOOL bDelete); |
BOOL WINAPI SetStandardColorSpaceProfileA(PCSTR, DWORD, PCSTR); | | BOOL WINAPI UninstallColorProfileW(__in_opt PCWSTR pMachineName, __in PCWS |
BOOL WINAPI SetStandardColorSpaceProfileW(PCWSTR, DWORD, PCWSTR); | | TR pProfileName, BOOL bDelete); |
| | BOOL WINAPI EnumColorProfilesA(__in_opt PCSTR pMachineName, __in PENUMTYP |
| | EA pEnumRecord, __out_bcount_opt(*pdwSizeOfEnumerationBuffer) PBYTE pEnumeration |
| | Buffer, __inout PDWORD pdwSizeOfEnumerationBuffer, __out_opt PDWORD pnProfiles); |
| | BOOL WINAPI EnumColorProfilesW(__in_opt PCWSTR pMachineName, __in PENUMTYP |
| | EW pEnumRecord, __out_bcount_opt(*pdwSizeOfEnumerationBuffer) PBYTE pEnumeration |
| | Buffer, __inout PDWORD pdwSizeOfEnumerationBuffer, __out_opt PDWORD pnProfiles); |
| | BOOL WINAPI SetStandardColorSpaceProfileA(__in_opt PCSTR pMachineName, DW |
| | ORD dwProfileID, __in PCSTR pProfilename); |
| | BOOL WINAPI SetStandardColorSpaceProfileW(__in_opt PCWSTR pMachineName, DW |
| | ORD dwProfileID, __in PCWSTR pProfileName); |
| | |
BOOL | | BOOL |
WINAPI | | WINAPI |
GetStandardColorSpaceProfileA( | | GetStandardColorSpaceProfileA( |
|
__in PCSTR pMachineName, | | __in_opt PCSTR pMachineName, |
__in DWORD dwSCS, | | __in DWORD dwSCS, |
|
__out_bcount_part(*pcbSize, *pcbSize) PSTR pBuffer, | | __out_bcount_part_opt(*pcbSize, *pcbSize) PSTR pBuffer, |
__inout PDWORD pcbSize | | __inout PDWORD pcbSize |
); | | ); |
| | |
BOOL | | BOOL |
WINAPI | | WINAPI |
GetStandardColorSpaceProfileW( | | GetStandardColorSpaceProfileW( |
|
__in PCWSTR pMachineName, | | __in_opt PCWSTR pMachineName, |
__in DWORD dwSCS, | | __in DWORD dwSCS, |
|
__out_bcount_part(*pcbSize, *pcbSize) PWSTR pBuffer, | | __out_bcount_part_opt(*pcbSize, *pcbSize) PWSTR pBuffer, |
__inout PDWORD pcbSize | | __inout PDWORD pcbSize |
); | | ); |
| | |
|
BOOL WINAPI AssociateColorProfileWithDeviceA(PCSTR, PCSTR, PCSTR); | | BOOL WINAPI AssociateColorProfileWithDeviceA(__in_opt PCSTR pMachineName, |
BOOL WINAPI AssociateColorProfileWithDeviceW(PCWSTR, PCWSTR, PCWSTR); | | __in PCSTR pProfileName, __in PCSTR pDeviceName); |
BOOL WINAPI DisassociateColorProfileFromDeviceA(PCSTR, PCSTR, PCSTR); | | BOOL WINAPI AssociateColorProfileWithDeviceW(__in_opt PCWSTR pMachineName, |
BOOL WINAPI DisassociateColorProfileFromDeviceW(PCWSTR, PCWSTR, PCWSTR); | | __in PCWSTR pProfileName, __in PCWSTR pDeviceName); |
BOOL WINAPI SetupColorMatchingW(PCOLORMATCHSETUPW pcms); | | BOOL WINAPI DisassociateColorProfileFromDeviceA(__in_opt PCSTR pMachineNam |
BOOL WINAPI SetupColorMatchingA(PCOLORMATCHSETUPA pcms); | | e, __in PCSTR pProfileName, __in PCSTR pDeviceName); |
| | BOOL WINAPI DisassociateColorProfileFromDeviceW(__in_opt PCWSTR pMachineNa |
| | me, __in PCWSTR pProfileName, __in PCWSTR pDeviceName); |
| | BOOL WINAPI SetupColorMatchingW(__inout_bcount(sizeof(COLORMATCHSETUPW)) P |
| | COLORMATCHSETUPW pcms); |
| | BOOL WINAPI SetupColorMatchingA(__inout_bcount(sizeof(COLORMATCHSETUPA)) P |
| | COLORMATCHSETUPA pcms); |
| | |
| | #if NTDDI_VERSION >= NTDDI_LONGHORN |
| | |
| | BOOL |
| | WINAPI |
| | WcsAssociateColorProfileWithDevice( |
| | __in WCS_PROFILE_MANAGEMENT_SCOPE scope, |
| | __in PCWSTR pProfileName, |
| | __in PCWSTR pDeviceName |
| | ); |
| | |
| | BOOL |
| | WINAPI |
| | WcsDisassociateColorProfileFromDevice( |
| | __in WCS_PROFILE_MANAGEMENT_SCOPE scope, |
| | __in PCWSTR pProfileName, |
| | __in PCWSTR pDeviceName |
| | ); |
| | |
| | BOOL |
| | WINAPI |
| | WcsEnumColorProfilesSize( |
| | __in WCS_PROFILE_MANAGEMENT_SCOPE scope, |
| | __in PENUMTYPEW pEnumRecord, |
| | __out PDWORD pdwSize |
| | ); |
| | |
| | BOOL |
| | WINAPI |
| | WcsEnumColorProfiles( |
| | __in WCS_PROFILE_MANAGEMENT_SCOPE scope, |
| | __in PENUMTYPEW pEnumRecord, |
| | __out_bcount(dwSize) PBYTE pBuffer, |
| | __in DWORD dwSize, |
| | __out_opt PDWORD pnProfiles |
| | ); |
| | |
| | BOOL |
| | WINAPI |
| | WcsGetDefaultColorProfileSize( |
| | __in WCS_PROFILE_MANAGEMENT_SCOPE scope, |
| | __in_opt PCWSTR pDeviceName, |
| | __in COLORPROFILETYPE cptColorProfileType, |
| | __in COLORPROFILESUBTYPE cpstColorProfileSubType, |
| | __in DWORD dwProfileID, |
| | __out PDWORD pcbProfileName |
| | ); |
| | |
| | BOOL |
| | WINAPI |
| | WcsGetDefaultColorProfile( |
| | __in WCS_PROFILE_MANAGEMENT_SCOPE scope, |
| | __in_opt PCWSTR pDeviceName, |
| | __in COLORPROFILETYPE cptColorProfileType, |
| | __in COLORPROFILESUBTYPE cpstColorProfileSubType, |
| | __in DWORD dwProfileID, |
| | __in DWORD cbProfileName, |
| | __out_bcount(cbProfileName) LPWSTR pProfileName |
| | ); |
| | |
| | BOOL |
| | WINAPI |
| | WcsSetDefaultColorProfile( |
| | __in WCS_PROFILE_MANAGEMENT_SCOPE scope, |
| | __in_opt PCWSTR pDeviceName, |
| | __in COLORPROFILETYPE cptColorProfileType, |
| | __in COLORPROFILESUBTYPE cpstColorProfileSubType, |
| | __in DWORD dwProfileID, |
| | __in_opt LPCWSTR pProfileName |
| | ); |
| | |
| | BOOL |
| | WINAPI |
| | WcsSetDefaultRenderingIntent( |
| | __in WCS_PROFILE_MANAGEMENT_SCOPE scope, |
| | __in DWORD dwRenderingIntent |
| | ); |
| | |
| | BOOL |
| | WINAPI |
| | WcsGetDefaultRenderingIntent( |
| | __in WCS_PROFILE_MANAGEMENT_SCOPE scope, |
| | __out PDWORD pdwRenderingIntent |
| | ); |
| | |
| | BOOL |
| | WINAPI |
| | WcsGetUsePerUserProfiles( |
| | __in LPCWSTR pDeviceName, |
| | __in DWORD dwDeviceClass, |
| | __out PBOOL pUsePerUserProfiles |
| | ); |
| | |
| | BOOL |
| | WINAPI |
| | WcsSetUsePerUserProfiles( |
| | __in LPCWSTR pDeviceName, |
| | __in DWORD dwDeviceClass, |
| | __in BOOL usePerUserProfiles |
| | ); |
| | |
| | BOOL |
| | WINAPI |
| | WcsTranslateColors( |
| | __in HTRANSFORM hColorTransform, |
| | __in DWORD nColors, |
| | __in DWORD nInputChannels, |
| | __in COLORDATATYPE cdtInput, |
| | __in DWORD cbInput, |
| | __in_bcount(cbInput) PVOID pInputData, |
| | __in DWORD nOutputChannels, |
| | __in COLORDATATYPE cdtOutput, |
| | __in DWORD cbOutput, |
| | __out_bcount(cbOutput) PVOID pOutputData |
| | ); |
| | |
| | BOOL |
| | WINAPI |
| | WcsCheckColors( |
| | __in HTRANSFORM hColorTransform, |
| | __in DWORD nColors, |
| | __in DWORD nInputChannels, |
| | __in COLORDATATYPE cdtInput, |
| | __in DWORD cbInput, |
| | __in_bcount(cbInput) PVOID pInputData, |
| | __out_ecount(nColors) PBYTE paResult |
| | ); |
| | |
| | // |
| | // The APIs SetupColorMatchingA and SetupColorMatchingW are |
| | // deprecated as of Windows Vista. The implementations in icmui.dll |
| | // now SetLastError to ERROR_NOT_SUPPORTED, and return FALSE. |
| | // |
| | #pragma deprecated (SetupColorMatchingA) |
| | #pragma deprecated (SetupColorMatchingW) |
| | |
| | #endif // NTDDI_VERSION >= NTDDI_LONGHORN |
| | |
#ifdef UNICODE | | #ifdef UNICODE |
| | |
#define ENUMTYPE ENUMTYPEW | | #define ENUMTYPE ENUMTYPEW |
#define PENUMTYPE PENUMTYPEW | | #define PENUMTYPE PENUMTYPEW |
#define COLORMATCHSETUP COLORMATCHSETUPW | | #define COLORMATCHSETUP COLORMATCHSETUPW |
#define PCOLORMATCHSETUP PCOLORMATCHSETUPW | | #define PCOLORMATCHSETUP PCOLORMATCHSETUPW |
#define LPCOLORMATCHSETUP LPCOLORMATCHSETUPW | | #define LPCOLORMATCHSETUP LPCOLORMATCHSETUPW |
#define PCMSCALLBACK PCMSCALLBACKW | | #define PCMSCALLBACK PCMSCALLBACKW |
#define CreateColorTransform CreateColorTransformW | | #define CreateColorTransform CreateColorTransformW |
| | |
skipping to change at line 717 | | skipping to change at line 949 |
#define UnregisterCMM UnregisterCMMW | | #define UnregisterCMM UnregisterCMMW |
#define GetColorDirectory GetColorDirectoryW | | #define GetColorDirectory GetColorDirectoryW |
#define InstallColorProfile InstallColorProfileW | | #define InstallColorProfile InstallColorProfileW |
#define UninstallColorProfile UninstallColorProfileW | | #define UninstallColorProfile UninstallColorProfileW |
#define AssociateColorProfileWithDevice AssociateColorProfileWithDeviceW | | #define AssociateColorProfileWithDevice AssociateColorProfileWithDeviceW |
#define DisassociateColorProfileFromDevice DisassociateColorProfileFromDeviceW | | #define DisassociateColorProfileFromDevice DisassociateColorProfileFromDeviceW |
#define EnumColorProfiles EnumColorProfilesW | | #define EnumColorProfiles EnumColorProfilesW |
#define SetStandardColorSpaceProfile SetStandardColorSpaceProfileW | | #define SetStandardColorSpaceProfile SetStandardColorSpaceProfileW |
#define GetStandardColorSpaceProfile GetStandardColorSpaceProfileW | | #define GetStandardColorSpaceProfile GetStandardColorSpaceProfileW |
#define SetupColorMatching SetupColorMatchingW | | #define SetupColorMatching SetupColorMatchingW |
|
| | #if NTDDI_VERSION >= NTDDI_LONGHORN |
| | #define WcsOpenColorProfile WcsOpenColorProfileW |
| | #endif // NTDDI_VERSION >= NTDDI_LONGHORN |
| | |
#else | | #else |
| | |
#define ENUMTYPE ENUMTYPEA | | #define ENUMTYPE ENUMTYPEA |
#define PENUMTYPE PENUMTYPEA | | #define PENUMTYPE PENUMTYPEA |
#define COLORMATCHSETUP COLORMATCHSETUPA | | #define COLORMATCHSETUP COLORMATCHSETUPA |
#define PCOLORMATCHSETUP PCOLORMATCHSETUPA | | #define PCOLORMATCHSETUP PCOLORMATCHSETUPA |
#define LPCOLORMATCHSETUP LPCOLORMATCHSETUPA | | #define LPCOLORMATCHSETUP LPCOLORMATCHSETUPA |
#define PCMSCALLBACK PCMSCALLBACKA | | #define PCMSCALLBACK PCMSCALLBACKA |
#define CreateColorTransform CreateColorTransformA | | #define CreateColorTransform CreateColorTransformA |
| | |
skipping to change at line 740 | | skipping to change at line 975 |
#define UnregisterCMM UnregisterCMMA | | #define UnregisterCMM UnregisterCMMA |
#define GetColorDirectory GetColorDirectoryA | | #define GetColorDirectory GetColorDirectoryA |
#define InstallColorProfile InstallColorProfileA | | #define InstallColorProfile InstallColorProfileA |
#define UninstallColorProfile UninstallColorProfileA | | #define UninstallColorProfile UninstallColorProfileA |
#define AssociateColorProfileWithDevice AssociateColorProfileWithDeviceA | | #define AssociateColorProfileWithDevice AssociateColorProfileWithDeviceA |
#define DisassociateColorProfileFromDevice DisassociateColorProfileFromDeviceA | | #define DisassociateColorProfileFromDevice DisassociateColorProfileFromDeviceA |
#define EnumColorProfiles EnumColorProfilesA | | #define EnumColorProfiles EnumColorProfilesA |
#define SetStandardColorSpaceProfile SetStandardColorSpaceProfileA | | #define SetStandardColorSpaceProfile SetStandardColorSpaceProfileA |
#define GetStandardColorSpaceProfile GetStandardColorSpaceProfileA | | #define GetStandardColorSpaceProfile GetStandardColorSpaceProfileA |
#define SetupColorMatching SetupColorMatchingA | | #define SetupColorMatching SetupColorMatchingA |
|
| | #if NTDDI_VERSION >= NTDDI_LONGHORN |
| | #define WcsOpenColorProfile WcsOpenColorProfileA |
| | #endif // NTDDI_VERSION >= NTDDI_LONGHORN |
| | |
#endif // !UNICODE | | #endif // !UNICODE |
| | |
// | | // |
// Transform returned by CMM | | // Transform returned by CMM |
// | | // |
| | |
typedef HANDLE HCMTRANSFORM; | | typedef HANDLE HCMTRANSFORM; |
| | |
// | | // |
// Pointer to ICC color profile data. | | // Pointer to ICC color profile data. |
// | | // |
| | |
typedef PVOID LPDEVCHARACTER; | | typedef PVOID LPDEVCHARACTER; |
| | |
// | | // |
// CMM API definition | | // CMM API definition |
// | | // |
| | |
BOOL WINAPI CMCheckColors( | | BOOL WINAPI CMCheckColors( |
|
HCMTRANSFORM hcmTransform, // transform handle | | __in HCMTRANSFORM hcmTransform, // transform handle |
LPCOLOR lpaInputColors, // array of COLORs | | __in_ecount(nColors) LPCOLOR lpaInputColors, // array of COLORs |
DWORD nColors, // COLOR array size | | DWORD nColors, // COLOR array size |
COLORTYPE ctInput, // input color type | | COLORTYPE ctInput, // input color type |
LPBYTE lpaResult // buffer for results | | LPBYTE lpaResult // buffer for results |
); | | ); |
| | |
BOOL WINAPI CMCheckColorsInGamut( | | BOOL WINAPI CMCheckColorsInGamut( |
|
HCMTRANSFORM hcmTransform, // transform handle | | __in HCMTRANSFORM hcmTransform, // transform handle |
RGBTRIPLE *lpaRGBTriple, // RGB triple array | | __in_ecount(nCount) RGBTRIPLE *lpaRGBTriple, // RGB triple array |
LPBYTE lpaResult, // buffer for results | | __out_bcount(nCount) LPBYTE lpaResult, // buffer for results |
UINT nCount // result buffer size | | UINT nCount // result buffer size |
); | | ); |
| | |
BOOL WINAPI CMCheckRGBs( | | BOOL WINAPI CMCheckRGBs( |
|
HCMTRANSFORM hcmTransform, // transform handle | | __in HCMTRANSFORM hcmTransform, // transform handle |
LPVOID lpSrcBits, // source bitmap bits | | __in LPVOID lpSrcBits, // source bitmap bits |
BMFORMAT bmInput, // source bitmap format | | BMFORMAT bmInput, // source bitmap format |
DWORD dwWidth, // source bitmap width | | DWORD dwWidth, // source bitmap width |
DWORD dwHeight, // source bitmap hight | | DWORD dwHeight, // source bitmap hight |
DWORD dwStride, // source bitmap delta | | DWORD dwStride, // source bitmap delta |
LPBYTE lpaResult, // buffer for results | | __out LPBYTE lpaResult, // buffer for results |
PBMCALLBACKFN pfnCallback, // pointer to callback function | | __callback PBMCALLBACKFN pfnCallback, // pointer to callback function |
LPARAM ulCallbackData // caller-defined parameter to callback | | LPARAM ulCallbackData // caller-defined parameter to callba |
); | | ck |
| | ); |
| | |
BOOL WINAPI CMConvertColorNameToIndex( | | BOOL WINAPI CMConvertColorNameToIndex( |
|
HPROFILE hProfile, | | __in HPROFILE hProfile, |
PCOLOR_NAME paColorName, | | __in_ecount(dwCount) PCOLOR_NAME paColorName, |
PDWORD paIndex, | | __out_ecount(dwCount) PDWORD paIndex, |
DWORD dwCount | | DWORD dwCount |
); | | ); |
| | |
BOOL WINAPI CMConvertIndexToColorName( | | BOOL WINAPI CMConvertIndexToColorName( |
|
HPROFILE hProfile, | | __in HPROFILE hProfile, |
PDWORD paIndex, | | __in_ecount(dwCount) PDWORD paIndex, |
PCOLOR_NAME paColorName, | | __out_ecount(dwCount) PCOLOR_NAME paColorName, |
DWORD dwCount | | DWORD dwCount |
); | | ); |
| | |
BOOL WINAPI CMCreateDeviceLinkProfile( | | BOOL WINAPI CMCreateDeviceLinkProfile( |
|
PHPROFILE pahProfiles, // array of profile handles | | __in_ecount(nProfiles) PHPROFILE pahProfiles, // array of profile handles |
DWORD nProfiles, // profile handle array size | | DWORD nProfiles, // profile handle array siz |
PDWORD padwIntents, // array of rendering intents | | e |
DWORD nIntents, // intent array size | | __in_ecount(nIntents) PDWORD padwIntents, // array of rendering inten |
DWORD dwFlags, // transform creation flags | | ts |
LPBYTE *lpProfileData // pointer to pointer to buffer | | DWORD nIntents, // intent array size |
); | | DWORD dwFlags, // transform creation flags |
| | __out LPBYTE *lpProfileData // pointer to pointer to bu |
| | ffer |
| | ); |
| | |
HCMTRANSFORM WINAPI CMCreateMultiProfileTransform( | | HCMTRANSFORM WINAPI CMCreateMultiProfileTransform( |
|
PHPROFILE pahProfiles, // array of profile handles | | __in_ecount(nProfiles) PHPROFILE pahProfiles, // array of profile handles |
DWORD nProfiles, // profile handle array size | | DWORD nProfiles, // profile handle array siz |
PDWORD padwIntents, // array of rendering intents | | e |
DWORD nIntents, // intent array size | | __in_ecount(nIntents) PDWORD padwIntents, // array of rendering inten |
DWORD dwFlags // transform creation flags | | ts |
); | | DWORD nIntents, // intent array size |
| | DWORD dwFlags // transform creation flags |
| | ); |
| | |
BOOL WINAPI CMCreateProfile( | | BOOL WINAPI CMCreateProfile( |
|
LPLOGCOLORSPACEA lpColorSpace, // pointer to a logical color space | | __inout LPLOGCOLORSPACEA lpColorSpace, // pointer to a logical color space |
LPDEVCHARACTER *lpProfileData // pointer to pointer to buffer | | __out LPDEVCHARACTER *lpProfileData // pointer to pointer to buffer |
); | | ); |
| | |
BOOL WINAPI CMCreateProfileW( | | BOOL WINAPI CMCreateProfileW( |
|
LPLOGCOLORSPACEW lpColorSpace, // pointer to a logical color space | | __inout LPLOGCOLORSPACEW lpColorSpace, // pointer to a logical color space |
LPDEVCHARACTER *lpProfileData // pointer to pointer to buffer | | __out LPDEVCHARACTER *lpProfileData // pointer to pointer to buffer |
); | | ); |
| | |
|
| | // |
| | // The CMM APIs CMCreateTransform, CMCreateTransformW, and CMCreateTransformExt |
| | are |
| | // deprecated as of Windows Vista, and CMM implementors are no longer required t |
| | o |
| | // implement them. The implementations in the default CMM (icm32.dll) in Windows |
| | Vista |
| | // now SetLastError to ERROR_NOT_SUPPORTED, and return an invalid transform hand |
| | le |
| | // (a value < 256). |
| | // |
HCMTRANSFORM WINAPI CMCreateTransform( | | HCMTRANSFORM WINAPI CMCreateTransform( |
|
LPLOGCOLORSPACEA lpColorSpace, // pointer to logical color space | | __in LPLOGCOLORSPACEA lpColorSpace, // pointer to logical color space |
LPDEVCHARACTER lpDevCharacter, // profile data | | __in LPDEVCHARACTER lpDevCharacter, // profile data |
LPDEVCHARACTER lpTargetDevCharacter // target profile data | | __in LPDEVCHARACTER lpTargetDevCharacter // target profile data |
); | | ); |
| | |
HCMTRANSFORM WINAPI CMCreateTransformW( | | HCMTRANSFORM WINAPI CMCreateTransformW( |
|
LPLOGCOLORSPACEW lpColorSpace, // pointer to logical color space | | __in LPLOGCOLORSPACEW lpColorSpace, // pointer to logical color space |
LPDEVCHARACTER lpDevCharacter, // profile data | | __in LPDEVCHARACTER lpDevCharacter, // profile data |
LPDEVCHARACTER lpTargetDevCharacter // target profile data | | __in LPDEVCHARACTER lpTargetDevCharacter // target profile data |
); | | ); |
| | |
HCMTRANSFORM WINAPI CMCreateTransformExt( | | HCMTRANSFORM WINAPI CMCreateTransformExt( |
|
LPLOGCOLORSPACEA lpColorSpace, // pointer to logical color space | | __in LPLOGCOLORSPACEA lpColorSpace, // pointer to logical color space |
LPDEVCHARACTER lpDevCharacter, // profile data | | __in LPDEVCHARACTER lpDevCharacter, // profile data |
LPDEVCHARACTER lpTargetDevCharacter, // target profile data | | __in LPDEVCHARACTER lpTargetDevCharacter, // target profile data |
DWORD dwFlags // creation flags | | DWORD dwFlags // creation flags |
); | | ); |
| | |
| | #if NTDDI_VERSION >= NTDDI_LONGHORN |
| | #pragma deprecated (CMCreateTransform) |
| | #pragma deprecated (CMCreateTransformW) |
| | #pragma deprecated (CMCreateTransformExt) |
| | #endif // NTDDI_VERSION >= NTDDI_LONGHORN |
| | |
HCMTRANSFORM WINAPI CMCreateTransformExtW( | | HCMTRANSFORM WINAPI CMCreateTransformExtW( |
|
LPLOGCOLORSPACEW lpColorSpace, // pointer to logical color space | | __in LPLOGCOLORSPACEW lpColorSpace, // pointer to logical color space |
LPDEVCHARACTER lpDevCharacter, // profile data | | __in LPDEVCHARACTER lpDevCharacter, // profile data |
LPDEVCHARACTER lpTargetDevCharacter, // target profile data | | __in LPDEVCHARACTER lpTargetDevCharacter, // target profile data |
DWORD dwFlags // creation flags | | DWORD dwFlags // creation flags |
); | | ); |
| | |
BOOL WINAPI CMDeleteTransform( | | BOOL WINAPI CMDeleteTransform( |
|
HCMTRANSFORM hcmTransform // transform handle to be deleted. | | __inout HCMTRANSFORM hcmTransform // transform handle to be dele |
); | | ted. |
| | ); |
| | |
DWORD WINAPI CMGetInfo( | | DWORD WINAPI CMGetInfo( |
DWORD dwInfo | | DWORD dwInfo |
|
); | | ); |
| | |
BOOL WINAPI CMGetNamedProfileInfo( | | BOOL WINAPI CMGetNamedProfileInfo( |
|
HPROFILE hProfile, // profile handle | | __in HPROFILE hProfile, // profile handle |
PNAMED_PROFILE_INFO pNamedProfileInfo // pointer to named profile info | | __inout PNAMED_PROFILE_INFO pNamedProfileInfo // pointer to named profile in |
); | | fo |
| | ); |
| | |
BOOL WINAPI CMGetPS2ColorRenderingDictionary( | | BOOL WINAPI CMGetPS2ColorRenderingDictionary( |
|
HPROFILE hProfile, | | __in HPROFILE hProfile, |
DWORD dwIntent, | | DWORD dwIntent, |
LPBYTE lpBuffer, | | __out_bcount_opt(*lpcbSize) LPBYTE lpBuffer, |
LPDWORD lpcbSize, | | LPDWORD lpcbSize, |
LPBOOL lpbBinary | | LPBOOL lpbBinary |
); | | ); |
| | |
BOOL WINAPI CMGetPS2ColorRenderingIntent( | | BOOL WINAPI CMGetPS2ColorRenderingIntent( |
|
HPROFILE hProfile, | | __in HPROFILE hProfile, |
DWORD dwIntent, | | DWORD dwIntent, |
LPBYTE lpBuffer, | | __out_bcount_opt(*lpcbSize) LPBYTE lpBuffer, |
LPDWORD lpcbSize | | LPDWORD lpcbSize |
); | | ); |
| | |
BOOL WINAPI CMGetPS2ColorSpaceArray( | | BOOL WINAPI CMGetPS2ColorSpaceArray( |
|
HPROFILE hProfile, | | __in HPROFILE hProfile, |
DWORD dwIntent, | | DWORD dwIntent, |
DWORD dwCSAType, | | DWORD dwCSAType, |
LPBYTE lpBuffer, | | __out_bcount_opt(*lpcbSize) LPBYTE lpBuffer, |
LPDWORD lpcbSize, | | LPDWORD lpcbSize, |
LPBOOL lpbBinary | | LPBOOL lpbBinary |
); | | ); |
| | |
BOOL WINAPI CMIsProfileValid( | | BOOL WINAPI CMIsProfileValid( |
|
HPROFILE hProfile, // proflle handle | | __in HPROFILE hProfile, // proflle handle |
LPBOOL lpbValid // buffer for result. | | __out LPBOOL lpbValid // buffer for result. |
); | | ); |
| | |
BOOL WINAPI CMTranslateColors( | | BOOL WINAPI CMTranslateColors( |
|
HCMTRANSFORM hcmTransform, // transform handle | | __in HCMTRANSFORM hcmTransform, // transform handl |
LPCOLOR lpaInputColors, // pointer to input color array | | e |
DWORD nColors, // number of color in color array | | __in_ecount(nColors) LPCOLOR lpaInputColors, // pointer to inpu |
COLORTYPE ctInput, // input color type | | t color array |
LPCOLOR lpaOutputColors, // pointer to output color array | | DWORD nColors, // number of color |
COLORTYPE ctOutput // output color type | | in color array |
); | | COLORTYPE ctInput, // input color typ |
| | e |
| | __out_ecount(nColors) LPCOLOR lpaOutputColors, // pointer to outp |
| | ut color array |
| | COLORTYPE ctOutput // output color ty |
| | pe |
| | ); |
| | |
BOOL WINAPI CMTranslateRGB( | | BOOL WINAPI CMTranslateRGB( |
|
HCMTRANSFORM hcmTransform, | | __in HCMTRANSFORM hcmTransform, |
COLORREF ColorRef, | | COLORREF ColorRef, |
LPCOLORREF lpColorRef, | | __out LPCOLORREF lpColorRef, |
DWORD dwFlags | | DWORD dwFlags |
); | | ); |
| | |
BOOL WINAPI CMTranslateRGBs( | | BOOL WINAPI CMTranslateRGBs( |
|
HCMTRANSFORM hcmTransform, | | __in HCMTRANSFORM hcmTransform, |
LPVOID lpSrcBits, | | __in LPVOID lpSrcBits, |
BMFORMAT bmInput, | | BMFORMAT bmInput, |
DWORD dwWidth, | | DWORD dwWidth, |
DWORD dwHeight, | | DWORD dwHeight, |
DWORD dwStride, | | DWORD dwStride, |
LPVOID lpDestBits, | | __out LPVOID lpDestBits, |
BMFORMAT bmOutput, | | BMFORMAT bmOutput, |
DWORD dwTranslateDirection | | DWORD dwTranslateDirection |
); | | ); |
| | |
BOOL WINAPI CMTranslateRGBsExt( | | BOOL WINAPI CMTranslateRGBsExt( |
|
HCMTRANSFORM hcmTransform, | | __in HCMTRANSFORM hcmTransform, |
LPVOID lpSrcBits, | | __in LPVOID lpSrcBits, |
BMFORMAT bmInput, | | BMFORMAT bmInput, |
DWORD dwWidth, | | DWORD dwWidth, |
DWORD dwHeight, | | DWORD dwHeight, |
DWORD dwInputStride, | | DWORD dwInputStride, |
LPVOID lpDestBits, | | __out LPVOID lpDestBits, |
BMFORMAT bmOutput, | | BMFORMAT bmOutput, |
DWORD dwOutputStride, | | DWORD dwOutputStride, |
LPBMCALLBACKFN lpfnCallback, | | __callback LPBMCALLBACKFN lpfnCallback, |
LPARAM ulCallbackData | | LPARAM ulCallbackData |
); | | ); |
| | |
| | #if NTDDI_VERSION >= NTDDI_LONGHORN |
| | |
| | // |
| | // Windows Color System APIs |
| | // |
| | |
| | // |
| | // Passed in as a bit-flag for dwFlags, this instructs WcsOpenColorProfile |
| | // to ignore any embedded Wcs information in the WcsProfiles tag if the input |
| | // profile is an ICC one. |
| | // |
| | |
| | #define DONT_USE_EMBEDDED_WCS_PROFILES 0x00000001L |
| | |
| | HPROFILE WINAPI WcsOpenColorProfileA( |
| | __in PPROFILE pCDMPProfile, |
| | __in_opt PPROFILE pCAMPProfile, |
| | __in_opt PPROFILE pGMMPProfile, |
| | __in DWORD dwDesireAccess, |
| | __in DWORD dwShareMode, |
| | __in DWORD dwCreationMode, |
| | __in DWORD dwFlags |
| | ); |
| | |
| | HPROFILE WINAPI WcsOpenColorProfileW( |
| | __in PPROFILE pCDMPProfile, |
| | __in_opt PPROFILE pCAMPProfile, |
| | __in_opt PPROFILE pGMMPProfile, |
| | __in DWORD dwDesireAccess, |
| | __in DWORD dwShareMode, |
| | __in DWORD dwCreationMode, |
| | __in DWORD dwFlags |
| | ); |
| | |
| | // |
| | // Flags for WcsCreateIccProfile. |
| | // |
| | // By default, the original WCS profiles used for the conversion are embedded |
| | // in the output ICC profile in a WcsProfilesTag, resulting in an ICC profile |
| | // which is compatible with ICC software, yet still has the original WCS |
| | // profile data available to code which is designed to parse it. |
| | // |
| | // This flag is set to produce an ICC profile without any of the original |
| | // WCS profile data embedded. The WcsProfilesTag will not be present in the |
| | // output profile. This will result in a smaller output profile, however the |
| | // original WCS profile data will not be available to code that would be able |
| | // to parse it instead of the ICC data. |
| | // |
| | // |
| | // These flags should be ORed in with one of the four ICC INTENT_ flags |
| | // Thus, they must use different bits from the INTENT_ flags. Currrently, the IN |
| | TENT_ flags |
| | // use the values 0-3, or the low order two bits. Hence we use the third lowest |
| | bit. |
| | // |
| | |
| | #define WCS_DEFAULT 0x00000000L |
| | #define WCS_ICCONLY 0x00010000L |
| | |
| | HPROFILE WINAPI WcsCreateIccProfile( |
| | __in HPROFILE hWcsProfile, |
| | __in DWORD dwOptions |
| | ); |
| | |
| | // |
| | // ICC TAGTYPE for the embedded Wcs information. |
| | // |
| | |
| | #define WCS_EMBEDDED_TAG_SIGNATURE 'MS00' |
| | #define WCS_EMBEDDED_TAG_TYPE_SIGNATURE 'MS10' |
| | |
| | #endif // NTDDI_VERSION >= NTDDI_LONGHORN |
| | |
#ifdef __cplusplus | | #ifdef __cplusplus |
} | | } |
#endif | | #endif |
| | |
#endif // ifndef _ICM_H_ | | #endif // ifndef _ICM_H_ |
| | |
End of changes. 53 change blocks. |
230 lines changed or deleted | | 623 lines changed or added |
|