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