test: typedefs.h Source File

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

# typedefs.h

Go to the documentation of this file.

    00001 /*
    00002         File:           LHTypeDefs.h
    00003
    00004         Contains:
    00005
    00006         Written by:     U. J. Krabbenhoeft
    00007
    00008         Version:
    00009
    00010         Copyright:      © 1993-1997 by Heidelberger Druckmaschinen AG, all rights reserved.
    00011
    00012 */
    00013
    00014 #ifndef LHTypeDefs_h
    00015 #define LHTypeDefs_h
    00016
    00017 /* flags to keep track if there is a named profile in the profile sequenc */
    00018 enum
    00019 {
    00020         NoNamedColorProfile             = 0x0000,
    00021         NamedColorProfileOnly           = 0x0001,
    00022         NamedColorProfileAtBegin        = 0x0002,
    00023         NamedColorProfileAtEnd          = 0x0003
    00024 };
    00025
    00026
    00027
    00028 /* ------------------------------------------------------------------------------------------------------------
    00029         CMLutParam - lut struct - set in the Initphase and used by the Match/Check routines
    00030    ------------------------------------------------------------------------------------------------------------ */
    00031 typedef struct CMLutParam
    00032 {
    00033         long                            inputLutEntryCount;             /* count of entries for input lut for one dimension */
    00034         long                            inputLutWordSize;               /* count of bits of each entry ( e.g. 16 for UINT16 ) */
    00035         LUT_DATA_TYPE           inputLut;                               /* pointer/handle to input lut */
    00036         long                            outputLutEntryCount;    /* count of entries for output lut for one dimension     */
    00037         long                            outputLutWordSize;              /* count of bits of each entry ( e.g. 8 for UINT8 ) */
    00038         LUT_DATA_TYPE           outputLut;                              /* pointer/handle to output lut */
    00039         long                            colorLutInDim;                  /* input dimension  ( e.g. 3 for LAB ; 4 for CMYK ) */
    00040         long                            colorLutOutDim;                 /* output dimension ( e.g. 3 for LAB ; 4 for CMYK ) */
    00041         long                            colorLutGridPoints;             /* count of gridpoints for color lut ( for one Dimension ) */
    00042         long                            colorLutWordSize;               /* count of bits of each entry ( e.g. 8 for UINT8 ) */
    00043         LUT_DATA_TYPE           colorLut;                               /* pointer/handle to color lut */
    00044
    00045         /* --------- used in Init-Phase by CreateCombi ------------ */
    00046         Ptr                             matrixTRC;
    00047         Ptr                             matrixMFT;
    00048
    00049         /* ---------- used for DoNDim - DoNDimTableData ------------*/
    00050         unsigned long           cmInputColorSpace;              /* packing info for input               */
    00051         unsigned long           cmOutputColorSpace;             /* packing info for output              */
    00052         void*                           userData;
    00053 } CMLutParam, *CMLutParamPtr, **CMLutParamHdl;
    00054
    00055
    00056 /* ------------------------------------------------------------------------------------------------------------
    00057         CMCalcParam - calc struct for the Match/Check routines
    00058    ------------------------------------------------------------------------------------------------------------ */
    00059
    00060 typedef struct CMCalcParam
    00061 {
    00062         CMBitmapColorSpace      cmInputColorSpace;              /* input color space */
    00063         CMBitmapColorSpace      cmOutputColorSpace;             /* output color space */
    00064         long                            cmPixelPerLine;                 /* pixel per line */
    00065         long                            cmLineCount;                    /* number of lines */
    00066         long                            cmInputBytesPerLine;    /* bytes per line */
    00067         long                            cmOutputBytesPerLine;   /* bytes per line */
    00068         long                            cmInputPixelOffset;             /* offset to next input pixel */
    00069         long                            cmOutputPixelOffset;    /* offset to next output pixel */
    00070         void*                           inputData[8];                   /* 8 pointers to input data */
    00071         void*                           outputData[8];                  /* 8 pointers to output data */
    00072         Boolean                         copyAlpha;                              /* true -> copy alpha */
    00073         Boolean                         clearMask;                              /* true -> set to zero  false-> copy alpha (if any) */
    00074 } CMCalcParam, *CMCalcParamPtr, **CMCalcParamHdl;
    00075
    00076
    00077
    00078 /* ------------------------------------------------------------------------------------------------------------
    00079         DoNDimCalcData - calc data for DoNDim
    00080    ------------------------------------------------------------------------------------------------------------ */
    00081 struct DoNDimCalcData
    00082 {
    00083         long    pixelCount;                     /* count of input pixels        */
    00084         Ptr             inputData;                      /* input array                          */
    00085         Ptr             outputData;                     /* output array                         */
    00086 };
    00087 typedef struct DoNDimCalcData DoNDimCalcData, *DoNDimCalcDataPtr, **DoNDimCalcDataHdl;
    00088
    00089 /* ------------------------------------------------------------------------------------------------------------
    00090         LHCombiData - struct used in initphase while creating the combi-luts
    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         LHProfile - internal information for one profile
    00122    ------------------------------------------------------------------------------------------------------------ */
    00123 typedef struct LHProfile
    00124 {
    00125         CMProfileRef    profileSet;
    00126         short                   pcsConversionMode;
    00127         short                   usePreviewTag;
    00128         unsigned long   renderingIntent;
    00129 } LHProfile;
    00130
    00131 /* ------------------------------------------------------------------------------------------------------------
    00132         LHConcatProfileSet - internal information for a set of profiles
    00133    ------------------------------------------------------------------------------------------------------------ */
    00134 typedef struct LHConcatProfileSet
    00135 {
    00136         unsigned short                  keyIndex;                               /* Zero-based                                                   */
    00137         unsigned short                  count;                                  /* Min 1                                                                */
    00138         LHProfile                               prof[1];                                /* Variable. Ordered from Source -> Dest*/
    00139 } LHConcatProfileSet;
    00140 #if powerc
    00141 #pragma options align=reset
    00142 #endif
    00143
    00144
    00145 /* ------------------------------------------------------------------------------------------------------------
    00146         CMMModelData - global CMM data
    00147    ------------------------------------------------------------------------------------------------------------ */
    00148 /*
    00149 #if powerc
    00150 #pragma options align=mac68k
    00151 #endif
    00152 */
    00153 struct CMMModelData
    00154 {
    00155         CMLutParam                              lutParam;
    00156         CMLutParam                              gamutLutParam;
    00157
    00158         short                                   precision;
    00159         Boolean                                 lookup;                                 /* false -> interpolation,  true -> lookup only */
    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         /* for NamedColor matching */
    00172         long                            hasNamedColorProf;
    00173         Handle                          thePCSProfHandle;
    00174         LUT_DATA_TYPE           theNamedColorTagData;
    00175
    00176         /*OSType                                dataColorSpace;*/
    00177         /*OSType                                profileConnectionSpace;*/
    00178
    00179         UINT32                          *aIntentArr;
    00180         UINT32                          nIntents;
    00181         UINT32                          dwFlags;
    00182         Boolean                         appendDeviceLink;                                       /* if count > 1 && last profile is deviceLink */
    00183         CMWorldRef                      pBackwardTransform;
    00184 #if     __IS_MAC
    00185         ComponentInstance       accelerationComponent;
    00186 #endif
    00187 };
    00188 typedef struct CMMModelData CMMModelData, *CMMModelPtr, **CMMModelHandle;
    00189
    00190 /*
    00191 #if powerc
    00192 #pragma options align=reset
    00193 #endif
    00194 */
    00195
    00196
    00197 typedef double Matrix2D[3][3];
    00198
    00199 #endif