Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Smith <dannysmith@users.sourceforge.net>2006-04-18 08:38:03 +0400
committerDanny Smith <dannysmith@users.sourceforge.net>2006-04-18 08:38:03 +0400
commit065e8a7a023820eb250a0fa1c65af06a56852765 (patch)
tree6d97d39d115fc03f93cb8dfbb299905324f53300 /winsup/w32api
parentedf92ad046e19f1e6e12a7f1708b9e5ad9ec7e3f (diff)
2006-04-18 Thorsten Dahlheimer (dahlheim@users.sf.net>
* include/wingdi.h (ColorCorrectPalette): Add declaration. (CreateColorSpace): Add UNICODE mappings. * lib/gdi32.def (ColorCorrectPalette): Add stub. * include/icm.h: New file. * lib/mscms.def: New file. * lib/icmui.def: New file.
Diffstat (limited to 'winsup/w32api')
-rw-r--r--winsup/w32api/ChangeLog9
-rwxr-xr-xwinsup/w32api/include/icm.h399
-rw-r--r--winsup/w32api/include/wingdi.h5
-rw-r--r--winsup/w32api/lib/gdi32.def1
-rw-r--r--winsup/w32api/lib/icmui.def4
-rw-r--r--winsup/w32api/lib/mscms.def55
6 files changed, 473 insertions, 0 deletions
diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog
index 10a92d8c9..f4bf5ab04 100644
--- a/winsup/w32api/ChangeLog
+++ b/winsup/w32api/ChangeLog
@@ -1,5 +1,14 @@
2006-04-18 Thorsten Dahlheimer (dahlheim@users.sf.net>
+ * include/wingdi.h (ColorCorrectPalette): Add declaration.
+ (CreateColorSpace): Add UNICODE mappings.
+ * lib/gdi32.def (ColorCorrectPalette): Add stub.
+ * include/icm.h: New file.
+ * lib/mscms.def: New file.
+ * lib/icmui.def: New file.
+
+2006-04-18 Thorsten Dahlheimer (dahlheim@users.sf.net>
+
* include/winnt.h (IMAGE_FILE_MACHINE_IA64): New define.
(IMAGE_FILE_MACHINE_AMD64): New define.
(IMAGE_NT_OPTIONAL_HDR{32|64}_MAGIC. New. Map to IMAGE_NT_OPTIONAL_HDR_MAGIC.
diff --git a/winsup/w32api/include/icm.h b/winsup/w32api/include/icm.h
new file mode 100755
index 000000000..a18c8e5e3
--- /dev/null
+++ b/winsup/w32api/include/icm.h
@@ -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 */
diff --git a/winsup/w32api/include/wingdi.h b/winsup/w32api/include/wingdi.h
index a51aa5e44..dcf5263f8 100644
--- a/winsup/w32api/include/wingdi.h
+++ b/winsup/w32api/include/wingdi.h
@@ -2573,7 +2573,10 @@ WINGDIAPI int WINAPI ChoosePixelFormat(HDC,CONST PIXELFORMATDESCRIPTOR*);
WINGDIAPI HENHMETAFILE WINAPI CloseEnhMetaFile(HDC);
WINGDIAPI BOOL WINAPI CloseFigure(HDC);
WINGDIAPI HMETAFILE WINAPI CloseMetaFile(HDC);
+#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
+WINGDIAPI BOOL WINAPI ColorCorrectPalette(HDC,HPALETTE,DWORD,DWORD);
WINGDIAPI BOOL WINAPI ColorMatchToTarget(HDC,HDC,DWORD);
+#endif
WINGDIAPI int WINAPI CombineRgn(HRGN,HRGN,HRGN,int);
WINGDIAPI BOOL WINAPI CombineTransform(LPXFORM,const XFORM*,const XFORM*);
WINGDIAPI HENHMETAFILE WINAPI CopyEnhMetaFileA(HENHMETAFILE,LPCSTR);
@@ -2942,6 +2945,7 @@ typedef DISPLAY_DEVICEW DISPLAY_DEVICE, *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE;
#endif
#define CopyEnhMetaFile CopyEnhMetaFileW
#define CopyMetaFile CopyMetaFileW
+#define CreateColorSpace CreateColorSpaceW
#define CreateDC CreateDCW
#define CreateEnhMetaFile CreateEnhMetaFileW
#define CreateFont CreateFontW
@@ -3019,6 +3023,7 @@ typedef DISPLAY_DEVICEA DISPLAY_DEVICE, *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE;
#endif
#define CopyEnhMetaFile CopyEnhMetaFileA
#define CopyMetaFile CopyMetaFileA
+#define CreateColorSpace CreateColorSpaceA
#define CreateDC CreateDCA
#define CreateEnhMetaFile CreateEnhMetaFileA
#define CreateFont CreateFontA
diff --git a/winsup/w32api/lib/gdi32.def b/winsup/w32api/lib/gdi32.def
index a0df3995b..17d292b7c 100644
--- a/winsup/w32api/lib/gdi32.def
+++ b/winsup/w32api/lib/gdi32.def
@@ -20,6 +20,7 @@ Chord@36
CloseEnhMetaFile@4
CloseFigure@4
CloseMetaFile@4
+ColorCorrectPalette@16
ColorMatchToTarget@12
CombineRgn@16
CombineTransform@12
diff --git a/winsup/w32api/lib/icmui.def b/winsup/w32api/lib/icmui.def
new file mode 100644
index 000000000..679eeeb1d
--- /dev/null
+++ b/winsup/w32api/lib/icmui.def
@@ -0,0 +1,4 @@
+LIBRARY ICMUI.DLL
+EXPORTS
+SetupColorMatchingA@4
+SetupColorMatchingW@4
diff --git a/winsup/w32api/lib/mscms.def b/winsup/w32api/lib/mscms.def
new file mode 100644
index 000000000..a3d3ec2c7
--- /dev/null
+++ b/winsup/w32api/lib/mscms.def
@@ -0,0 +1,55 @@
+LIBRARY mscms.dll
+EXPORTS
+AssociateColorProfileWithDeviceA@12
+AssociateColorProfileWithDeviceW@12
+CheckBitmapBits@36
+CheckColors@20
+CloseColorProfile@4
+ConvertColorNameToIndex@16
+ConvertIndexToColorName@16
+CreateColorTransformA@16
+CreateColorTransformW@16
+CreateDeviceLinkProfile@28
+CreateMultiProfileTransform@24
+CreateProfileFromLogColorSpaceA@8
+CreateProfileFromLogColorSpaceW@8
+DeleteColorTransform@4
+DisassociateColorProfileFromDeviceA@12
+DisassociateColorProfileFromDeviceW@12
+EnumColorProfilesA@20
+EnumColorProfilesW@20
+GetCMMInfo@8
+GetColorDirectoryA@12
+GetColorDirectoryW@12
+GetColorProfileElement@24
+GetColorProfileElementTag@12
+GetColorProfileFromHandle@12
+GetColorProfileHeader@8
+GetCountColorProfileElements@8
+GetNamedProfileInfo@8
+GetPS2ColorRenderingDictionary@20
+GetPS2ColorRenderingIntent@16
+GetPS2ColorSpaceArray@24
+GetStandardColorSpaceProfileA@16
+GetStandardColorSpaceProfileW@16
+InstallColorProfileA@8
+InstallColorProfileW@8
+IsColorProfileTagPresent@12
+IsColorProfileValid@8
+OpenColorProfileA@16
+OpenColorProfileW@16
+RegisterCMMA@12
+RegisterCMMW@12
+SelectCMM@4
+SetColorProfileElement@20
+SetColorProfileElementReference@12
+SetColorProfileElementSize@12
+SetColorProfileHeader@8
+SetStandardColorSpaceProfileA@12
+SetStandardColorSpaceProfileW@12
+TranslateBitmapBits@44
+TranslateColors@24
+UninstallColorProfileA@12
+UninstallColorProfileW@12
+UnregisterCMMA@8
+UnregisterCMMW@8