00001
#ifndef ICM_H
00002
#define ICM_H
00003
#include "windows.h"
00004
#include "icc.h"
00005
#include "icc_i386.h"
00006
00007 #define CMS_GET_VERSION 0x00000000
00008 #define CMS_GET_IDENT 0x00000001
00009 #define CMS_GET_DRIVER_LEVEL 0x00000002
00010 #define CMS_GET_RESERVED 0xFFFFFFFC
00011
00012 #define CMS_LEVEL_1 0x00000001
00013 #define CMS_LEVEL_2 0x00000002
00014 #define CMS_LEVEL_3 0x00000004
00015 #define CMS_LEVEL_RESERVED 0xFFFFFFFC
00016
00017
00018
00019 #define CMS_FORWARD 0x00000000
00020 #define CMS_BACKWARD 0x00000001
00021
00022 #define CMS_X555WORD 0x00000000
00023 #define CMS_565WORD 0x00000001
00024 #define CMS_RGBTRIPLETS 0x00000002
00025 #define CMS_BGRTRIPLETS 0x00000004
00026 #define CMS_XRGBQUADS 0x00000008
00027 #define CMS_XBGRQUADS 0x00000010
00028 #define CMS_QUADS 0x00000020
00029
00030
#ifndef ICMDLL
00031 #define LCS_CALIBRATED_RGB 0x00000000
00032 #define LCS_DEVICE_RGB 0x00000001
00033 #define LCS_DEVICE_CMYK 0x00000002
00034
00035 #define LCS_GM_DEFAULT 0x00000000
00036 #define LCS_GM_BUSINESS 0x00000001
00037 #define LCS_GM_GRAPHICS 0x00000002
00038 #define LCS_GM_IMAGES 0x00000004
00039
#endif
00040
00041
00042
00043
00044
00045
00046 #define CM_USE_CS 0x00000001
00047 #define CM_USE_CRD 0x00000002
00048 #define CM_SEND_CRD 0x00000004
00049 #define CM_USE_ICM 0x00000008
00050 #define CM_CMYK_IN 0x00000010
00051 #define CM_CMYK_DIB_IN 0x00000020
00052 #define CM_CMYK_OUT 0x00000040
00053 #define CM_CMYK CM_CMYK_IN | CM_CMYK_DIB_IN | CM_CMYK_OUT
00054
00055
00056
00057 typedef DWORD HCTMTRANSFORM;
00058
00059
00060
00061
00062
#ifndef ICMDLL
00063
typedef struct tagLOGCOLORSPACE {
00064
DWORD lcsSignature;
00065
DWORD lcsVersion;
00066
DWORD lcsSize;
00067
DWORD lcsCSType;
00068
DWORD lcsGamutMatch;
00069 CIEXYZTRIPLE lcsEndpoints;
00070
DWORD lcsGammaRed;
00071
DWORD lcsGammaGreen;
00072
DWORD lcsGammaBlue;
00073
char lcsFilename[
MAX_PATH];
00074 }
LOGCOLORSPACE;
00075 typedef LOGCOLORSPACE FAR *
LPLOGCOLORSPACE;
00076
#endif
00077
00078
typedef struct tagICMINFO {
00079
LOGCOLORSPACE lcsSource;
00080
HCTMTRANSFORM hICMT;
00081
char lcsDestFilename[256];
00082
char lcsTargetFilename[256];
00083 LPSTR lppd;
00084
00085 }
ICMINFO ,
FAR *
LPICMINFO;
00086
00087
00088 typedef enum {
CS_DEVICE_RGB = 0,
CS_DEVICE_CMYK,
00089
CS_CALIBRATED_RGB,
CS_SONY_TRINITRON }
CSPACESET;
00090
00091
00092
#ifndef ICMDLL
00093
BOOL FAR PASCAL
EnableICM(HDC, BOOL);
00094 HANDLE
FAR PASCAL
LoadImageColorMatcher(LPSTR);
00095
BOOL FAR PASCAL
FreeImageColorMatcher(HANDLE);
00096
int FAR PASCAL
EnumColorProfiles(HDC,FARPROC,LPARAM);
00097
BOOL FAR PASCAL
CheckColorsInGamut(HDC,LPVOID,LPVOID,DWORD);
00098 HANDLE
FAR PASCAL
GetColorSpace(HDC);
00099
BOOL FAR PASCAL
GetLogColorSpace(HCOLORSPACE,LPVOID,DWORD);
00100
HCOLORSPACE FAR PASCAL
CreateColorSpace(LPLOGCOLORSPACE);
00101
BOOL FAR PASCAL
SetColorSpace(HDC,HCOLORSPACE);
00102
BOOL FAR PASCAL
DeleteColorSpace(HCOLORSPACE);
00103
BOOL FAR PASCAL
GetColorProfile(HDC,LPSTR,WORD);
00104
BOOL FAR PASCAL
SetColorProfile(HDC,LPSTR);
00105
BOOL FAR PASCAL
GetDeviceGammaRamp(HDC,LPVOID);
00106
BOOL FAR PASCAL
SetDeviceGammaRamp(HDC,LPVOID);
00107
BOOL FAR PASCAL
ColorMatchToTarget(HDC,HDC,WORD);
00108
#endif
00109
00110
00111
00112
00113
00114
DWORD _loadds
FAR PASCAL
CMGetInfo(DWORD dwInfo);
00115
00116
HCTMTRANSFORM _loadds
FAR PASCAL
CMCreateTransform(LPLOGCOLORSPACE lpCS,
00117 LPSTR lpDevCh, LPSTR lpTargetDevCh);
00118
00119
BOOL _loadds
FAR PASCAL
CMDeleteTransform(HCTMTRANSFORM hTransform);
00120
00121
BOOL _loadds
FAR PASCAL
CMTranslateRGB(HCTMTRANSFORM hTransform,RGBQUAD RGBQuad,
00122 LPVOID lpResult, DWORD dwFlags);
00123
00124
BOOL _loadds
FAR PASCAL
CMTranslateRGBs(HCTMTRANSFORM hTransform,
00125 LPVOID lpSrc, DWORD dwSrcFlags,
00126 DWORD nSrcWidth, DWORD nSrcHeight, DWORD nSrcStride,
00127 LPVOID lpDest, DWORD dwDestFlags, DWORD dwFlags);
00128
00129
BOOL _loadds
FAR PASCAL
CMCheckColorsInGamut(HCTMTRANSFORM hTransform,
00130 LPVOID lpSrc,
00131 LPVOID lpDest, DWORD dwCount);
00132
BOOL _loadds
FAR PASCAL
CMGetPS2ColorSpaceArray(
00133 LPSTR lpProfileName,
00134 DWORD InputIntent,
00135 WORD InpDrvClrSp,
00136 MEMPTR lpBuffer,
00137 LPDWORD lpcbSize,
00138 BOOL AllowBinary);
00139
00140
BOOL _loadds
FAR PASCAL
CMGetPS2ColorRenderingDictionary(
00141 LPSTR lpProfileName,
00142 DWORD Intent,
00143 MEMPTR lpMem,
00144 LPDWORD lpcbSize,
00145 BOOL AllowBinary);
00146
00147
BOOL _loadds
FAR PASCAL
CMGetPS2ColorRenderingIntent(
00148 LPSTR lpProfileName,
00149 DWORD Intent,
00150 MEMPTR lpMem,
00151 LPDWORD lpcbSize);
00152
00153
00154
HCTMTRANSFORM _loadds
FAR PASCAL
ICMCreateTransform(LPLOGCOLORSPACE lpCS,
00155 LPSTR lpDevCh, LPSTR lpTargetDevCh);
00156
00157
BOOL _loadds
FAR PASCAL
ICMDeleteTransform(HCTMTRANSFORM hTransform);
00158
00159
BOOL _loadds
FAR PASCAL
ICMTranslateRGB(HCTMTRANSFORM hTransform, RGBQUAD RGBQuad,
00160 LPVOID lpResult, DWORD dwFlags);
00161
00162
BOOL _loadds
FAR PASCAL
ICMTranslateRGBs(HCTMTRANSFORM hTransform,
00163 LPVOID lpSrc, DWORD dwSrcFlags,
00164 DWORD nSrcWidth, DWORD nSrcHeight, DWORD nSrcStride,
00165 LPVOID lpDest, DWORD dwDestFlags, DWORD dwFlags);
00166
00167
BOOL _loadds
FAR PASCAL
ICMCheckColorsInGamut(HCTMTRANSFORM hTransform,
00168 LPVOID lpSrc,
00169 LPVOID lpDest, DWORD dwCount);
00170
00171
HCTMTRANSFORM _loadds
FAR PASCAL
CreateDefTransform (LPVOID lppd);
00172
BOOL _loadds
FAR PASCAL
DeleteDefTransform (HCTMTRANSFORM hTransform);
00173
#endif
00174