test: icm.h Source File

Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

# icm.h

Go to the documentation of this file.

    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 // Use printer colors       == 0
    00042 // Change all RGBs          == CM_USE_ICM;
    00043 // Select downloaded CRD    == CM_USE_CS | CM_USE_CRD
    00044 // Download/select CRD      == CM_USE_CS | CM_USE_CRD | CM_SEND_CRD
    00045 // Use Sony                 == CM_USE_CS
    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 // SRGB98
    00060 #define  REVCURVE_RATIO         1
    00061
    00062 /*  Logical Color Space Structure */
    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;  // source image colorspace
    00082         HCTMTRANSFORM   hICMT;      // Handle to the associated transform
    00083         char            lcsDestFilename[256];
    00084         char            lcsTargetFilename[256];
    00085         LPSTR           lppd;       // Used to find the buffered bitmap.
    00086                                     // Fix bug 195632. jjia  2/20/97.
    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 // ALWAYS_ICM
    00173 HCTMTRANSFORM _loadds FAR PASCAL CreateDefTransform (LPVOID lppd);
    00174 BOOL _loadds FAR PASCAL DeleteDefTransform (HCTMTRANSFORM hTransform);
    00175 #endif
    00176