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

CIccCmm Class Reference

#include <IccCmm.h>

Inheritance diagram for CIccCmm:

CIccMruCmm CIccNamedColorCmm List of all members.

Public Member Functions

 CIccCmm (icColorSpaceSignature nSrcSpace=icSigUnknownData, icColorSpaceSignature nDestSpace=icSigUnknownData, bool bFirstInput=true)
virtual ~CIccCmm ()
virtual CIccPCSGetPCS ()
virtual icStatusCMM AddXform (const icChar *szProfilePath, icRenderingIntent nIntent=icUnknownIntent, icXformInterp nInterp=icInterpLinear, icXformLutType nLutType=icXformLutColor, bool bUseMpeTags=true)
 Must make at least one call to some form of AddXform() before calling Begin().
virtual icStatusCMM AddXform (icUInt8Number *pProfileMem, icUInt32Number nProfileLen, icRenderingIntent nIntent=icUnknownIntent, icXformInterp nInterp=icInterpLinear, icXformLutType nLutType=icXformLutColor, bool bUseMpeTags=true)
virtual icStatusCMM AddXform (CIccProfile *pProfile, icRenderingIntent nIntent=icUnknownIntent, icXformInterp nInterp=icInterpLinear, icXformLutType nLutType=icXformLutColor, bool bUseMpeTags=true)
virtual icStatusCMM AddXform (CIccProfile &Profile, icRenderingIntent nIntent=icUnknownIntent, icXformInterp nInterp=icInterpLinear, icXformLutType nLutType=icXformLutColor, bool bUseMpeTags=true)
virtual icStatusCMM Begin ()
 Must be called before calling Apply().
virtual icStatusCMM Apply (icFloatNumber *DstPixel, const icFloatNumber *SrcPixel)
virtual icStatusCMM RemoveAllIO ()
virtual icUInt32Number GetNumXforms () const
 Returns the number of profiles/transforms added.
icColorSpaceSignature GetSourceSpace () const
 Returns the source color space.
icColorSpaceSignature GetDestSpace () const
 Returns the destination color space.
icRenderingIntent GetLastIntent () const
 Returns the rendering intent of the last profile added.
icUInt16Number GetSourceSamples () const
 Returns the number of samples in the source color space.
icUInt16Number GetDestSamples () const
 Returns the number of samples in the destination color space.
bool Valid () const
 Checks if this is a valid CMM object.
icStatusCMM ToInternalEncoding (icFloatNumber *pInternal, const icUInt8Number *pData)
icStatusCMM ToInternalEncoding (icFloatNumber *pInternal, const icUInt16Number *pData)
icStatusCMM FromInternalEncoding (icUInt8Number *pData, icFloatNumber *pInternal)
icStatusCMM FromInternalEncoding (icUInt16Number *pData, icFloatNumber *pInternal)
virtual icColorSpaceSignature GetFirstXformSource ()
virtual icColorSpaceSignature GetLastXformDest ()

Static Public Member Functions

bool IsInGamut (icFloatNumber *pData)
icStatusCMM ToInternalEncoding (icColorSpaceSignature nSpace, icFloatColorEncoding nEncode, icFloatNumber *pInternal, const icFloatNumber *pData, bool bClip=true)
 Functions for converting to Internal representation of pixel colors.
icStatusCMM ToInternalEncoding (icColorSpaceSignature nSpace, icFloatNumber *pInternal, const icUInt8Number *pData)
icStatusCMM ToInternalEncoding (icColorSpaceSignature nSpace, icFloatNumber *pInternal, const icUInt16Number *pData)
icStatusCMM FromInternalEncoding (icColorSpaceSignature nSpace, icFloatColorEncoding nEncode, icFloatNumber *pData, const icFloatNumber *pInternal, bool bClip=true)
 Functions for converting from Internal representation of pixel colors.
icStatusCMM FromInternalEncoding (icColorSpaceSignature nSpace, icUInt8Number *pData, const icFloatNumber *pInternal)
icStatusCMM FromInternalEncoding (icColorSpaceSignature nSpace, icUInt16Number *pData, const icFloatNumber *pInternal)
const icCharGetFloatColorEncoding (icFloatColorEncoding val)
icFloatColorEncoding GetFloatColorEncoding (const icChar *val)

Protected Attributes

bool m_bValid
bool m_bLastInput
icColorSpaceSignature m_nSrcSpace
icColorSpaceSignature m_nDestSpace
icColorSpaceSignature m_nLastSpace
icRenderingIntent m_nLastIntent
CIccXformListm_Xforms
CIccPCSm_pPCS

Detailed Description

Type: Class

Purpose: Defines a class that allows one or more profiles to be applied in order that they are Added.


Constructor & Destructor Documentation

CIccCmm::CIccCmm icColorSpaceSignature  nSrcSpace = icSigUnknownData,
icColorSpaceSignature  nDestSpace = icSigUnknownData,
bool  bFirstInput = true
 

Name: CIccCmm::CIccCmm

Purpose: Constructor

Args: nSrcSpace = signature of the source color space, nDestSpace = signature of the destination color space, bFirstInput = true if the first profile added is an input profile

CIccCmm::~CIccCmm  )  [virtual]
 

Name: CIccCmm::~CIccCmm

Purpose: Destructor


Member Function Documentation

icStatusCMM CIccCmm::AddXform CIccProfile Profile,
icRenderingIntent  nIntent = icUnknownIntent,
icXformInterp  nInterp = icInterpLinear,
icXformLutType  nLutType = icXformLutColor,
bool  bUseMpeTags = true
[virtual]
 

Name: CIccCmm::AddXform

Purpose: Adds a profile at the end of the Xform list

Args: Profile = reference a CIccProfile object that will be copies and added, nIntent = rendering intent to be used with the profile, nInterp = type of interpolation to be used with the profile, nLutType = selection of which transform lut to use

Return: icCmmStatOk, if the profile was added to the list succesfully

Reimplemented in CIccMruCmm.

icStatusCMM CIccCmm::AddXform CIccProfile pProfile,
icRenderingIntent  nIntent = icUnknownIntent,
icXformInterp  nInterp = icInterpLinear,
icXformLutType  nLutType = icXformLutColor,
bool  bUseMpeTags = true
[virtual]
 

Name: CIccCmm::AddXform

Purpose: Adds a profile at the end of the Xform list

Args: pProfile = pointer to the CIccProfile object to be added, nIntent = rendering intent to be used with the profile, nInterp = type of interpolation to be used with the profile, nLutType = selection of which transform lut to use

Return: icCmmStatOk, if the profile was added to the list succesfully

Reimplemented in CIccNamedColorCmm, and CIccMruCmm.

icStatusCMM CIccCmm::AddXform icUInt8Number pProfileMem,
icUInt32Number  nProfileLen,
icRenderingIntent  nIntent = icUnknownIntent,
icXformInterp  nInterp = icInterpLinear,
icXformLutType  nLutType = icXformLutColor,
bool  bUseMpeTags = true
[virtual]
 

Name: CIccCmm::AddXform

Purpose: Adds a profile at the end of the Xform list

Args: pProfileMem = ptr to profile loaded into memory. Note: this memory needs to be available until after the Begin() function is called. nProfileLen = size in bytes of profile loaded into memory nIntent = rendering intent to be used with the profile, nInterp = type of interpolation to be used with the profile, nLutType = selection of which transform lut to use

Return: icCmmStatOk, if the profile was added to the list succesfully

Reimplemented in CIccMruCmm.

icStatusCMM CIccCmm::AddXform const icChar szProfilePath,
icRenderingIntent  nIntent = icUnknownIntent,
icXformInterp  nInterp = icInterpLinear,
icXformLutType  nLutType = icXformLutColor,
bool  bUseMpeTags = true
[virtual]
 

Must make at least one call to some form of AddXform() before calling Begin().

Name: CIccCmm::AddXform

Purpose: Adds a profile at the end of the Xform list

Args: szProfilePath = file name of the profile to be added, nIntent = rendering intent to be used with the profile, nInterp = type of interpolation to be used with the profile, nLutType = selection of which transform lut to use

Return: icCmmStatOk, if the profile was added to the list succesfully

Reimplemented in CIccNamedColorCmm, and CIccMruCmm.

icStatusCMM CIccCmm::Apply icFloatNumber DstPixel,
const icFloatNumber SrcPixel
[virtual]
 

Name: CIccCmm::Apply

Purpose: Does the actual application of the Xforms in the list.

Args: DstPixel = Destination pixel where the result is stored, SrcPixel = Source pixel which is to be applied.

Reimplemented in CIccNamedColorCmm, and CIccMruCmm.

icStatusCMM CIccCmm::Begin  )  [virtual]
 

Must be called before calling Apply().

Name: CIccCmm::Begin

Purpose: Does the initialization of the Xforms before Apply() is called. Must be called before Apply().

Reimplemented in CIccNamedColorCmm, and CIccMruCmm.

icStatusCMM CIccCmm::FromInternalEncoding icUInt16Number pData,
icFloatNumber pInternal
[inline]
 

icStatusCMM CIccCmm::FromInternalEncoding icUInt8Number pData,
icFloatNumber pInternal
[inline]
 

icStatusCMM CIccCmm::FromInternalEncoding icColorSpaceSignature  nSpace,
icUInt16Number pData,
const icFloatNumber pInternal
[static]
 

icStatusCMM CIccCmm::FromInternalEncoding icColorSpaceSignature  nSpace,
icUInt8Number pData,
const icFloatNumber pInternal
[static]
 

icStatusCMM CIccCmm::FromInternalEncoding icColorSpaceSignature  nSpace,
icFloatColorEncoding  nEncode,
icFloatNumber pData,
const icFloatNumber pInternal,
bool  bClip = true
[static]
 

Functions for converting from Internal representation of pixel colors.

Name: CIccCmm::FromInternalEncoding

Purpose: Functions for converting from Internal representation of pixel colors.

Args: nSpace = color space signature of the data, nEncode = icFloatColorEncoding type of the data, pData = converted data is stored here, pInternal = the data to be converted bClip = flag to clip data to internal range

icUInt16Number CIccCmm::GetDestSamples  )  const [inline]
 

Returns the number of samples in the destination color space.

icColorSpaceSignature CIccCmm::GetDestSpace  )  const [inline]
 

Returns the destination color space.

icColorSpaceSignature CIccCmm::GetFirstXformSource  )  [virtual]
 

Name: CIccCmm::GetFirstXformSource

Purpose: Get source colorspace of first transform (similar to m_nSrcSpace with differences in dev colorimetric spaces)

Return: colorspace

Reimplemented in CIccMruCmm.

icFloatColorEncoding CIccCmm::GetFloatColorEncoding const icChar val  )  [static]
 

Name: CIccCmm::GetFloatColorEncoding

Purpose: Converts the string containing encoding type to icFloatColorEncoding

Args: val = string containing encoding type

Return: encoding type

const icChar * CIccCmm::GetFloatColorEncoding icFloatColorEncoding  val  )  [static]
 

Name: CIccCmm::GetFloatColorEncoding

Purpose: Converts the encoding type to characters for printing

Args: val = encoding type

Return: characters for printing

icRenderingIntent CIccCmm::GetLastIntent  )  const [inline]
 

Returns the rendering intent of the last profile added.

icColorSpaceSignature CIccCmm::GetLastXformDest  )  [virtual]
 

Name: CIccCmm::GetNumXforms

Purpose: Get source colorspace of last transform (similar to m_nSrcSpace with differences in dev colorimetric spaces)

Return: colorspace

Reimplemented in CIccMruCmm.

icUInt32Number CIccCmm::GetNumXforms  )  const [virtual]
 

Returns the number of profiles/transforms added.

Name: CIccCmm::GetNumXforms

Purpose: Get number of xforms in the xform list

Return: number of m_Xforms

Reimplemented in CIccMruCmm.

virtual CIccPCS* CIccCmm::GetPCS  )  [inline, virtual]
 

Reimplemented in CIccMruCmm.

icUInt16Number CIccCmm::GetSourceSamples  )  const [inline]
 

Returns the number of samples in the source color space.

icColorSpaceSignature CIccCmm::GetSourceSpace  )  const [inline]
 

Returns the source color space.

bool CIccCmm::IsInGamut icFloatNumber pInternal  )  [static]
 

Name: CIccCmm::IsInGamut

Purpose: Function to check if internal representation of gamut is in gamut. Note since gamut table is 8 bit and a color is considered to be in out of gamut if the value is not zero. Then we need to check where the 8 bit representation of the internal value is not zero.

Args: pInternal = internal pixel representation of gamut value

Return: true if in gamut, false if out of gamut

icStatusCMM CIccCmm::RemoveAllIO  )  [virtual]
 

Name: CIccCmm::RemoveAllIO()

Purpose: Remove any attachments to CIccIO objects associated with the profiles related to the transforms attached to the CMM. Must be called after Begin().

Return: icCmmStatOK - All IO objects removed icCmmStatBadXform - Begin() has not been performed.

Reimplemented in CIccMruCmm.

icStatusCMM CIccCmm::ToInternalEncoding icFloatNumber pInternal,
const icUInt16Number pData
[inline]
 

icStatusCMM CIccCmm::ToInternalEncoding icFloatNumber pInternal,
const icUInt8Number pData
[inline]
 

icStatusCMM CIccCmm::ToInternalEncoding icColorSpaceSignature  nSpace,
icFloatNumber pInternal,
const icUInt16Number pData
[static]
 

icStatusCMM CIccCmm::ToInternalEncoding icColorSpaceSignature  nSpace,
icFloatNumber pInternal,
const icUInt8Number pData
[static]
 

icStatusCMM CIccCmm::ToInternalEncoding icColorSpaceSignature  nSpace,
icFloatColorEncoding  nEncode,
icFloatNumber pInternal,
const icFloatNumber pData,
bool  bClip = true
[static]
 

Functions for converting to Internal representation of pixel colors.

Name: CIccCmm::ToInternalEncoding

Purpose: Functions for converting to Internal representation of pixel colors.

Args: nSpace = color space signature of the data, nEncode = icFloatColorEncoding type of the data, pInternal = converted data is stored here, pData = the data to be converted bClip = flag to clip to internal range

bool CIccCmm::Valid  )  const [inline]
 

Checks if this is a valid CMM object.


Member Data Documentation

bool CIccCmm::m_bLastInput [protected]
 

bool CIccCmm::m_bValid [protected]
 

icColorSpaceSignature CIccCmm::m_nDestSpace [protected]
 

icRenderingIntent CIccCmm::m_nLastIntent [protected]
 

icColorSpaceSignature CIccCmm::m_nLastSpace [protected]
 

icColorSpaceSignature CIccCmm::m_nSrcSpace [protected]
 

CIccPCS* CIccCmm::m_pPCS [protected]
 

CIccXformList* CIccCmm::m_Xforms [protected]
 


The documentation for this class was generated from the following files:
Generated on Tue Jun 26 17:51:44 2007 for IccProfLib by  doxygen 1.3.9.1