00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
#ifndef LHTypeDefs_h
00015
#define LHTypeDefs_h
00016
00017
00018
enum
00019 {
00020
NoNamedColorProfile = 0x0000,
00021
NamedColorProfileOnly = 0x0001,
00022
NamedColorProfileAtBegin = 0x0002,
00023
NamedColorProfileAtEnd = 0x0003
00024 };
00025
00026
00027
00028
00029
00030
00031
typedef struct CMLutParam
00032 {
00033 long inputLutEntryCount;
00034 long inputLutWordSize;
00035 LUT_DATA_TYPE inputLut;
00036 long outputLutEntryCount;
00037 long outputLutWordSize;
00038 LUT_DATA_TYPE outputLut;
00039 long colorLutInDim;
00040 long colorLutOutDim;
00041 long colorLutGridPoints;
00042 long colorLutWordSize;
00043 LUT_DATA_TYPE colorLut;
00044
00045
00046 Ptr matrixTRC;
00047 Ptr matrixMFT;
00048
00049
00050 unsigned long cmInputColorSpace;
00051 unsigned long cmOutputColorSpace;
00052 void*
userData;
00053 }
CMLutParam, *
CMLutParamPtr, **
CMLutParamHdl;
00054
00055
00056
00057
00058
00059
00060
typedef struct CMCalcParam
00061 {
00062 CMBitmapColorSpace cmInputColorSpace;
00063 CMBitmapColorSpace cmOutputColorSpace;
00064 long cmPixelPerLine;
00065 long cmLineCount;
00066 long cmInputBytesPerLine;
00067 long cmOutputBytesPerLine;
00068 long cmInputPixelOffset;
00069 long cmOutputPixelOffset;
00070 void*
inputData[8];
00071 void*
outputData[8];
00072 Boolean copyAlpha;
00073 Boolean clearMask;
00074 }
CMCalcParam, *
CMCalcParamPtr, **
CMCalcParamHdl;
00075
00076
00077
00078
00079
00080
00081
struct DoNDimCalcData
00082 {
00083 long pixelCount;
00084 Ptr inputData;
00085 Ptr outputData;
00086 };
00087 typedef struct DoNDimCalcData DoNDimCalcData, *
DoNDimCalcDataPtr, **
DoNDimCalcDataHdl;
00088
00089
00090
00091
00092
00093
typedef struct LHCombiData
00094 {
00095 CMProfileRef theProfile;
00096 OSType profileClass;
00097 OSType dataColorSpace;
00098 OSType profileConnectionSpace;
00099 long gridPointsCube;
00100 long renderingIntent;
00101 long precision;
00102 long maxProfileCount;
00103 long profLoop;
00104 Boolean doCreate_16bit_ELut;
00105 Boolean doCreate_16bit_XLut;
00106 Boolean doCreate_16bit_ALut;
00107 Boolean doCreateLinkProfile;
00108 Boolean doCreate_16bit_Combi;
00109 Boolean doCreateGamutLut;
00110 Boolean amIPCS;
00111 Boolean usePreviewTag;
00112 }
LHCombiData, *
LHCombiDataPtr, **
LHCombiDataHdl;
00113
#if powerc
00114
#pragma options align=reset
00115
#endif
00116
00117
#if powerc
00118
#pragma options align=mac68k
00119
#endif
00120
00121
00122
00123
typedef struct LHProfile
00124 {
00125 CMProfileRef profileSet;
00126 short pcsConversionMode;
00127 short usePreviewTag;
00128 unsigned long renderingIntent;
00129 }
LHProfile;
00130
00131
00132
00133
00134
typedef struct LHConcatProfileSet
00135 {
00136 unsigned short keyIndex;
00137 unsigned short count;
00138 LHProfile prof[1];
00139 }
LHConcatProfileSet;
00140
#if powerc
00141
#pragma options align=reset
00142
#endif
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
struct CMMModelData
00154 {
00155 CMLutParam lutParam;
00156 CMLutParam gamutLutParam;
00157
00158 short precision;
00159 Boolean lookup;
00160
00161 OSType firstColorSpace;
00162 OSType lastColorSpace;
00163
00164 long currentCall;
00165 long lastCall;
00166
00167 long srcProfileVersion;
00168 long dstProfileVersion;
00169 Handle Monet;
00170
00171
00172 long hasNamedColorProf;
00173 Handle thePCSProfHandle;
00174 LUT_DATA_TYPE theNamedColorTagData;
00175
00176
00177
00178
00179 UINT32 *
aIntentArr;
00180 UINT32 nIntents;
00181 UINT32 dwFlags;
00182 Boolean appendDeviceLink;
00183 CMWorldRef pBackwardTransform;
00184
#if __IS_MAC
00185
ComponentInstance accelerationComponent;
00186
#endif
00187
};
00188 typedef struct CMMModelData CMMModelData, *
CMMModelPtr, **
CMMModelHandle;
00189
00190
00191
00192
00193
00194
00195
00196
00197 typedef double Matrix2D[3][3];
00198
00199
#endif