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 typedef HANDLE
HCOLORSPACE;
00057 typedef DWORD HCTMTRANSFORM;
00058
00059
00060 #define REVCURVE_RATIO 1
00061
00062
00063
00064
#ifndef ICMDLL
00065
typedef struct tagLOGCOLORSPACE {
00066 DWORD lcsSignature;
00067 DWORD lcsVersion;
00068 DWORD lcsSize;
00069 DWORD lcsCSType;
00070 DWORD lcsGamutMatch;
00071 CIEXYZTRIPLE
lcsEndpoints;
00072 DWORD lcsGammaRed;
00073 DWORD lcsGammaGreen;
00074 DWORD lcsGammaBlue;
00075 char lcsFilename[
MAX_PATH];
00076 }
LOGCOLORSPACE;
00077 typedef LOGCOLORSPACE FAR *
LPLOGCOLORSPACE;
00078
#endif
00079
00080
typedef struct tagICMINFO {
00081 LOGCOLORSPACE lcsSource;
00082 HCTMTRANSFORM hICMT;
00083 char lcsDestFilename[256];
00084 char lcsTargetFilename[256];
00085 LPSTR
lppd;
00086
00087 }
ICMINFO ,
FAR *
LPICMINFO;
00088
00089
00090 typedef enum {
CS_DEVICE_RGB = 0,
CS_DEVICE_CMYK,
00091
CS_CALIBRATED_RGB,
CS_SONY_TRINITRON }
CSPACESET;
00092
00093
00094
#ifndef ICMDLL
00095
BOOL FAR PASCAL
EnableICM(HDC, BOOL);
00096 HANDLE
FAR PASCAL
LoadImageColorMatcher(LPSTR);
00097
BOOL FAR PASCAL
FreeImageColorMatcher(HANDLE);
00098
int FAR PASCAL
EnumColorProfiles(HDC,FARPROC,LPARAM);
00099
BOOL FAR PASCAL
CheckColorsInGamut(HDC,LPVOID,LPVOID,DWORD);
00100 HANDLE
FAR PASCAL
GetColorSpace(HDC);
00101
BOOL FAR PASCAL
GetLogColorSpace(HCOLORSPACE,LPVOID,DWORD);
00102
HCOLORSPACE FAR PASCAL
CreateColorSpace(LPLOGCOLORSPACE);
00103
BOOL FAR PASCAL
SetColorSpace(HDC,HCOLORSPACE);
00104
BOOL FAR PASCAL
DeleteColorSpace(HCOLORSPACE);
00105
BOOL FAR PASCAL
GetColorProfile(HDC,LPSTR,WORD);
00106
BOOL FAR PASCAL
SetColorProfile(HDC,LPSTR);
00107
BOOL FAR PASCAL
GetDeviceGammaRamp(HDC,LPVOID);
00108
BOOL FAR PASCAL
SetDeviceGammaRamp(HDC,LPVOID);
00109
BOOL FAR PASCAL
ColorMatchToTarget(HDC,HDC,WORD);
00110
#endif
00111
00112 #define CS_ENABLE 1
00113 #define CS_DISABLE 2
00114 #define CS_DELETE_TRANSFORM 3
00115
00116
DWORD _loadds
FAR PASCAL
CMGetInfo(DWORD dwInfo);
00117
00118
HCTMTRANSFORM _loadds
FAR PASCAL
CMCreateTransform(LPLOGCOLORSPACE lpCS,
00119 LPSTR lpDevCh, LPSTR lpTargetDevCh);
00120
00121
BOOL _loadds
FAR PASCAL
CMDeleteTransform(HCTMTRANSFORM hTransform);
00122
00123
BOOL _loadds
FAR PASCAL
CMTranslateRGB(HCTMTRANSFORM hTransform,RGBQUAD RGBQuad,
00124 LPVOID lpResult, DWORD dwFlags);
00125
00126
BOOL _loadds
FAR PASCAL
CMTranslateRGBs(HCTMTRANSFORM hTransform,
00127 LPVOID lpSrc, DWORD dwSrcFlags,
00128 DWORD nSrcWidth, DWORD nSrcHeight, DWORD nSrcStride,
00129 LPVOID lpDest, DWORD dwDestFlags, DWORD dwFlags);
00130
00131
BOOL _loadds
FAR PASCAL
CMCheckColorsInGamut(HCTMTRANSFORM hTransform,
00132 LPVOID lpSrc,
00133 LPVOID lpDest, DWORD dwCount);
00134
BOOL _loadds
FAR PASCAL
CMGetPS2ColorSpaceArray(
00135 LPSTR lpProfileName,
00136 DWORD InputIntent,
00137 WORD InpDrvClrSp,
00138 MEMPTR lpBuffer,
00139 LPDWORD lpcbSize,
00140 BOOL AllowBinary);
00141
00142
BOOL _loadds
FAR PASCAL
CMGetPS2ColorRenderingDictionary(
00143 LPSTR lpProfileName,
00144 DWORD Intent,
00145 MEMPTR lpMem,
00146 LPDWORD lpcbSize,
00147 BOOL AllowBinary);
00148
00149
BOOL _loadds
FAR PASCAL
CMGetPS2ColorRenderingIntent(
00150 LPSTR lpProfileName,
00151 DWORD Intent,
00152 MEMPTR lpMem,
00153 LPDWORD lpcbSize);
00154
00155
00156
HCTMTRANSFORM _loadds
FAR PASCAL
ICMCreateTransform(LPLOGCOLORSPACE lpCS,
00157 LPSTR lpDevCh, LPSTR lpTargetDevCh);
00158
00159
BOOL _loadds
FAR PASCAL
ICMDeleteTransform(HCTMTRANSFORM hTransform);
00160
00161
BOOL _loadds
FAR PASCAL
ICMTranslateRGB(HCTMTRANSFORM hTransform, RGBQUAD RGBQuad,
00162 LPVOID lpResult, DWORD dwFlags);
00163
00164
BOOL _loadds
FAR PASCAL
ICMTranslateRGBs(HCTMTRANSFORM hTransform,
00165 LPVOID lpSrc, DWORD dwSrcFlags,
00166 DWORD nSrcWidth, DWORD nSrcHeight, DWORD nSrcStride,
00167 LPVOID lpDest, DWORD dwDestFlags, DWORD dwFlags);
00168
00169
BOOL _loadds
FAR PASCAL
ICMCheckColorsInGamut(HCTMTRANSFORM hTransform,
00170 LPVOID lpSrc,
00171 LPVOID lpDest, DWORD dwCount);
00172
00173
HCTMTRANSFORM _loadds
FAR PASCAL
CreateDefTransform (LPVOID lppd);
00174
BOOL _loadds
FAR PASCAL
DeleteDefTransform (HCTMTRANSFORM hTransform);
00175
#endif
00176