00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
#ifndef LHGenLuts_h
00012 
#define LHGenLuts_h
00013 
00014 #define kAbsoluteCalcNothing    0
00015 #define kAbsoluteCalcBefore             1
00016 #define kAbsoluteCalcAfter              2
00017 
00018 #define kAbsShiftBeforeDoNDim   FALSE
00019 #define kAbsShiftAfterDoNDim    TRUE
00020 
00021 
00022 
CMError 
00023 
FillLuts  ( 
CMMModelHandle      CMSession,
00024                         CMProfileRef            srcProfile,
00025                         CMProfileRef                    dstProfile );
00026 
00027 
void
00028 
CreateLinearElut16 (    Ptr             theElut,
00029                                                 
long    theSize,
00030                                                 
long    gridPoints,
00031                                                 
long    gridPointsCube);
00032 
void
00033 
CreateLinearElut ( Ptr          theElut,
00034                                    
long         theSize,
00035                                    
long         gridPoints,
00036                                    
long         gridPointsCube);
00037 
void
00038 
CreateLinearAlut ( UINT8*       theAlut,
00039                                    
long         count );
00040 
void
00041 
CreateLinearAlut16 (    UINT16* theAlut,
00042                                         
long    aCount );
00043 
CMError
00044 
DoMakeGamutForMonitor   ( 
CMLutParamPtr         theLutData,
00045                                                   
LHCombiDataPtr        theCombiData );
00046 
CMError
00047 
Extract_MFT_Xlut          ( 
CMLutParamPtr       theLutData,  
00048                                                 
LHCombiDataPtr  theCombiData,
00049                                                 Ptr                             profileLutPtr,
00050                                                 OSType                  theTag );
00051 
CMError
00052 
Extract_MFT_Elut          ( 
CMLutParamPtr       theLutData,  
00053                                                 
LHCombiDataPtr  theCombiData,
00054                                                 Ptr                             profileLutPtr,
00055                                                 OSType                  theTag );
00056 
CMError
00057 
Extract_MFT_Alut          ( 
CMLutParamPtr       theLutData,  
00058                                                 
LHCombiDataPtr  theCombiData,
00059                                                 Ptr                             profileLutPtr,
00060                                                 OSType                  theTag  );
00061                                                 
00062 
CMError
00063 
ExtractAll_MFT_Luts  (  
CMLutParamPtr   theLutData,
00064                                                 
LHCombiDataPtr  theCombiData,
00065                                                 OSType                  theTag );
00066 
CMError
00067 
Extract_TRC_Alut          ( 
CMLutParamPtr       theLutData,
00068                                                 
LHCombiDataPtr  theCombiData );
00069 
CMError
00070 
Extract_TRC_Elut          ( 
CMLutParamPtr       theLutData,
00071                                                 
LHCombiDataPtr  theCombiData );
00072 
CMError
00073 
Extract_TRC_Matrix        ( 
CMLutParamPtr       theLutData,
00074                                                 
LHCombiDataPtr  theCombiData );
00075 
CMError
00076 
ExtractAll_TRC_Luts  (  
CMLutParamPtr   theLutData,
00077                                                 
LHCombiDataPtr  theCombiData );
00078 
CMError
00079 
Extract_Gray_Luts        (  
CMLutParamPtr       theLutData,
00080                                                 
LHCombiDataPtr  theCombiData );
00081 
CMError
00082 
GetMatrixFromProfile    ( 
CMLutParamPtr         theLutData,
00083                                                   
LHCombiDataPtr        theCombiData,
00084                                                   OSType                        theTag,
00085                                                   
double                        factor );
00086 
CMError
00087 
ExtractAllLuts    ( 
CMLutParamPtr       theLutData,
00088                                         
LHCombiDataPtr  theCombiData );
00089                                         
00090 
CMError
00091 
Create_LH_ProfileSet    ( CMMModelPtr                   CMSession,
00092                                                   
CMConcatProfileSet*   profileSet,
00093                                                   
LHConcatProfileSet**  newProfileSet );
00094 
CMError
00095 
CreateCombi     ( CMMModelPtr           modelingData,
00096                           
CMConcatProfileSet*   profileSet,
00097                           
LHConcatProfileSet*   newProfileSet,
00098                           
CMLutParamPtr                 finalLutData,   
00099                           Boolean                               createGamutLut );
00100 
CMError 
00101 
PrepareCombiLUTs        ( CMMModelPtr    CMSession,
00102                                           
CMConcatProfileSet* profileSet );
00103 
00104 
#endif