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

IccUtil.h File Reference

#include "IccDefs.h"
#include "IccProfLibConf.h"
#include <string>

Go to the source code of this file.

Classes

class  CIccInfo

Defines

#define icSwab16(x)   icSwab16Ptr(&x)
#define icSwab32(x)   icSwab32Ptr(&x)
#define icSwab64(x)   icSwab64Ptr(&x)

Functions

icValidateStatus ICCPROFLIB_API icMaxStatus (icValidateStatus s1, icValidateStatus s2)
bool ICCPROFLIB_API icIsSpaceCLR (icColorSpaceSignature sig)
void ICCPROFLIB_API icColorIndexName (icChar *szName, icColorSpaceSignature csSig, int nIndex, int nColors, const icChar *szUnknown)
void ICCPROFLIB_API icColorValue (icChar *szValue, icFloatNumber nValue, icColorSpaceSignature csSig, int nIndex)
bool ICCPROFLIB_API icMatrixInvert3x3 (icFloatNumber *matrix)
void ICCPROFLIB_API icMatrixMultiply3x3 (icFloatNumber *result, const icFloatNumber *l, const icFloatNumber *r)
void ICCPROFLIB_API icVectorApplyMatrix3x3 (icFloatNumber *result, const icFloatNumber *m, const icFloatNumber *v)
icS15Fixed16Number ICCPROFLIB_API icDtoF (icFloatNumber num)
icFloatNumber ICCPROFLIB_API icFtoD (icS15Fixed16Number num)
icU16Fixed16Number ICCPROFLIB_API icDtoUF (icFloatNumber num)
icFloatNumber ICCPROFLIB_API icUFtoD (icU16Fixed16Number num)
icU1Fixed15Number ICCPROFLIB_API icDtoUSF (icFloatNumber num)
icFloatNumber ICCPROFLIB_API icUSFtoD (icU1Fixed15Number num)
icU8Fixed8Number ICCPROFLIB_API icDtoUCF (icFloatNumber num)
icFloatNumber ICCPROFLIB_API icUCFtoD (icU8Fixed8Number num)
icUInt8Number ICCPROFLIB_API icFtoU8 (icFloatNumber num)
icFloatNumber ICCPROFLIB_API icU8toF (icUInt8Number num)
icUInt16Number ICCPROFLIB_API icFtoU16 (icFloatNumber num)
icFloatNumber ICCPROFLIB_API icU16toF (icUInt16Number num)
icUInt8Number ICCPROFLIB_API icABtoU8 (icFloatNumber num)
icFloatNumber ICCPROFLIB_API icU8toAB (icUInt8Number num)
icUInt16Number ICCPROFLIB_API icABtoU16 (icFloatNumber num)
icFloatNumber ICCPROFLIB_API icU16toAB (icUInt16Number num)
void ICCPROFLIB_API icNormXYZ (icFloatNumber *XYZ, icFloatNumber *WhiteXYZ=NULL)
void ICCPROFLIB_API icDeNormXYZ (icFloatNumber *XYZ, icFloatNumber *WhiteXYZ=NULL)
void ICCPROFLIB_API icXYZtoLab (icFloatNumber *Lab, icFloatNumber *XYZ=NULL, icFloatNumber *WhiteXYZ=NULL)
void ICCPROFLIB_API icLabtoXYZ (icFloatNumber *XYZ, icFloatNumber *Lab=NULL, icFloatNumber *WhiteXYZ=NULL)
void ICCPROFLIB_API icLab2Lch (icFloatNumber *Lch, icFloatNumber *Lab=NULL)
void ICCPROFLIB_API icLch2Lab (icFloatNumber *Lab, icFloatNumber *Lch=NULL)
icFloatNumber ICCPROFLIB_API icMin (icFloatNumber v1, icFloatNumber v2)
icFloatNumber ICCPROFLIB_API icMax (icFloatNumber v1, icFloatNumber v2)
icUInt32Number ICCPROFLIB_API icIntMin (icUInt32Number v1, icUInt32Number v2)
icUInt32Number ICCPROFLIB_API icIntMax (icUInt32Number v1, icUInt32Number v2)
void ICCPROFLIB_API icLabFromPcs (icFloatNumber *Lab)
 Here are some conversion routines to convert to regular Lab encoding.
void ICCPROFLIB_API icLabToPcs (icFloatNumber *Lab)
void ICCPROFLIB_API icXyzFromPcs (icFloatNumber *XYZ)
 Here are some conversion routines to convert to regular XYZ encoding.
void ICCPROFLIB_API icXyzToPcs (icFloatNumber *XYZ)
void ICCPROFLIB_API icMemDump (std::string &sDump, void *pBuf, icUInt32Number nNum)
void ICCPROFLIB_API icMatrixDump (std::string &sDump, icS15Fixed16Number *pMatrix)
ICCPROFLIB_API const icCharicGetSig (icChar *pBuf, icUInt32Number sig, bool bGetHexVal=true)
ICCPROFLIB_API const icCharicGetSigStr (icChar *pBuf, icUInt32Number nSig)
icUInt32Number ICCPROFLIB_API icGetSigVal (const icChar *pBuf)
icUInt32Number ICCPROFLIB_API icGetSpaceSamples (icColorSpaceSignature sig)
void icSwab16Ptr (void *pVoid)
void icSwab16Array (void *pVoid, int num)
void icSwab32Ptr (void *pVoid)
void icSwab32Array (void *pVoid, int num)
void icSwab64Ptr (void *pVoid)
void icSwab64Array (void *pVoid, int num)

Variables

ICCPROFLIB_API icFloatNumber icD50XYZ [3]
ICCPROFLIB_API icFloatNumber icD50XYZxx [3]
ICCPROFLIB_API const char * icValidateWarningMsg
ICCPROFLIB_API const char * icValidateNonCompliantMsg
ICCPROFLIB_API const char * icValidateCriticalErrorMsg
ICCPROFLIB_API CIccInfo icInfo


Detailed Description

File: IccUtil.h

Contains: Implementation of utility classes/functions

Version: V1

Copyright: see ICC Software License


Define Documentation

#define icSwab16  )     icSwab16Ptr(&x)
 

#define icSwab32  )     icSwab32Ptr(&x)
 

#define icSwab64  )     icSwab64Ptr(&x)
 


Function Documentation

icUInt16Number ICCPROFLIB_API icABtoU16 icFloatNumber  num  ) 
 

icUInt8Number ICCPROFLIB_API icABtoU8 icFloatNumber  num  ) 
 

void ICCPROFLIB_API icColorIndexName icChar szName,
icColorSpaceSignature  csSig,
int  nIndex,
int  nColors,
const icChar szUnknown
 

void ICCPROFLIB_API icColorValue icChar szValue,
icFloatNumber  nValue,
icColorSpaceSignature  csSig,
int  nIndex
 

void ICCPROFLIB_API icDeNormXYZ icFloatNumber XYZ,
icFloatNumber WhiteXYZ = NULL
 

icS15Fixed16Number ICCPROFLIB_API icDtoF icFloatNumber  num  ) 
 

icU8Fixed8Number ICCPROFLIB_API icDtoUCF icFloatNumber  num  ) 
 

icU16Fixed16Number ICCPROFLIB_API icDtoUF icFloatNumber  num  ) 
 

icU1Fixed15Number ICCPROFLIB_API icDtoUSF icFloatNumber  num  ) 
 

icFloatNumber ICCPROFLIB_API icFtoD icS15Fixed16Number  num  ) 
 

icUInt16Number ICCPROFLIB_API icFtoU16 icFloatNumber  num  ) 
 

icUInt8Number ICCPROFLIB_API icFtoU8 icFloatNumber  num  ) 
 

ICCPROFLIB_API const icChar* icGetSig icChar pBuf,
icUInt32Number  sig,
bool  bGetHexVal = true
 

ICCPROFLIB_API const icChar* icGetSigStr icChar pBuf,
icUInt32Number  nSig
 

icUInt32Number ICCPROFLIB_API icGetSigVal const icChar pBuf  ) 
 

icUInt32Number ICCPROFLIB_API icGetSpaceSamples icColorSpaceSignature  sig  ) 
 

icUInt32Number ICCPROFLIB_API icIntMax icUInt32Number  v1,
icUInt32Number  v2
 

icUInt32Number ICCPROFLIB_API icIntMin icUInt32Number  v1,
icUInt32Number  v2
 

bool ICCPROFLIB_API icIsSpaceCLR icColorSpaceSignature  sig  ) 
 

void ICCPROFLIB_API icLab2Lch icFloatNumber Lch,
icFloatNumber Lab = NULL
 

void ICCPROFLIB_API icLabFromPcs icFloatNumber Lab  ) 
 

Here are some conversion routines to convert to regular Lab encoding.

Floating point encoding of Lab in PCS is in range 0.0 to 1.0

void ICCPROFLIB_API icLabToPcs icFloatNumber Lab  ) 
 

void ICCPROFLIB_API icLabtoXYZ icFloatNumber XYZ,
icFloatNumber Lab = NULL,
icFloatNumber WhiteXYZ = NULL
 

void ICCPROFLIB_API icLch2Lab icFloatNumber Lab,
icFloatNumber Lch = NULL
 

void ICCPROFLIB_API icMatrixDump std::string &  sDump,
icS15Fixed16Number pMatrix
 

bool ICCPROFLIB_API icMatrixInvert3x3 icFloatNumber M  ) 
 

Name: icMatrixInvert3x3

Purpose: Inversion of a 3x3 matrix using the Adjoint Cofactor and the determinant of the 3x3 matrix.

Note: Matrix index positions: 0 1 2 3 4 5 6 7 8

Args: M = matrix to invert.

Return: true = matrix is invertible and stored back into M, false = matrix is not invertible.

void ICCPROFLIB_API icMatrixMultiply3x3 icFloatNumber result,
const icFloatNumber l,
const icFloatNumber r
 

Name: icMatrixMultiply3x3

Purpose: Multiply two 3x3 matricies resulting in a 3x3 matrix.

Note: Matrix index positions: 0 1 2 3 4 5 6 7 8

Args: result = matrix to recieve result. l = left matrix to multiply (matrix multiplication is order dependent) r = right matrix to multiply (matrix multiplicaiton is order dependent)

icFloatNumber ICCPROFLIB_API icMax icFloatNumber  v1,
icFloatNumber  v2
 

icValidateStatus ICCPROFLIB_API icMaxStatus icValidateStatus  s1,
icValidateStatus  s2
 

Name: icMaxStatus

Purpose: return worst status

Args: s1, s2

Return:

void ICCPROFLIB_API icMemDump std::string &  sDump,
void *  pBuf,
icUInt32Number  nNum
 

icFloatNumber ICCPROFLIB_API icMin icFloatNumber  v1,
icFloatNumber  v2
 

void ICCPROFLIB_API icNormXYZ icFloatNumber XYZ,
icFloatNumber WhiteXYZ = NULL
 

void icSwab16Array void *  pVoid,
int  num
[inline]
 

void icSwab16Ptr void *  pVoid  )  [inline]
 

void icSwab32Array void *  pVoid,
int  num
[inline]
 

void icSwab32Ptr void *  pVoid  )  [inline]
 

void icSwab64Array void *  pVoid,
int  num
[inline]
 

void icSwab64Ptr void *  pVoid  )  [inline]
 

icFloatNumber ICCPROFLIB_API icU16toAB icUInt16Number  num  ) 
 

icFloatNumber ICCPROFLIB_API icU16toF icUInt16Number  num  ) 
 

icFloatNumber ICCPROFLIB_API icU8toAB icUInt8Number  num  ) 
 

icFloatNumber ICCPROFLIB_API icU8toF icUInt8Number  num  ) 
 

icFloatNumber ICCPROFLIB_API icUCFtoD icU8Fixed8Number  num  ) 
 

icFloatNumber ICCPROFLIB_API icUFtoD icU16Fixed16Number  num  ) 
 

icFloatNumber ICCPROFLIB_API icUSFtoD icU1Fixed15Number  num  ) 
 

void ICCPROFLIB_API icVectorApplyMatrix3x3 icFloatNumber result,
const icFloatNumber m,
const icFloatNumber v
 

Name: icVectorApplyMatrix3x3

Purpose: Applies a 3x3 matrix to a 3 element column vector.

Note: Matrix index positions: 0 1 2 3 4 5 6 7 8

Note: result = m x v

Args: result = vector to receive result. m = matrix to multiply v = vector to apply matrix to

void ICCPROFLIB_API icXyzFromPcs icFloatNumber XYZ  ) 
 

Here are some conversion routines to convert to regular XYZ encoding.

Floating point encoding of XYZ in PCS is in range 0.0 to 1.0 (Note: X=1.0 is encoded as about 0.5)

void ICCPROFLIB_API icXYZtoLab icFloatNumber Lab,
icFloatNumber XYZ = NULL,
icFloatNumber WhiteXYZ = NULL
 

void ICCPROFLIB_API icXyzToPcs icFloatNumber XYZ  ) 
 


Variable Documentation

ICCPROFLIB_API icFloatNumber icD50XYZ[3]
 

ICCPROFLIB_API icFloatNumber icD50XYZxx[3]
 

ICCPROFLIB_API CIccInfo icInfo
 

ICCPROFLIB_API const char* icValidateCriticalErrorMsg
 

ICCPROFLIB_API const char* icValidateNonCompliantMsg
 

ICCPROFLIB_API const char* icValidateWarningMsg
 


Generated on Tue Jun 26 17:51:44 2007 for IccProfLib by  doxygen 1.3.9.1