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

CIccMruCmm Class Reference

#include <IccCmm.h>

Inheritance diagram for CIccMruCmm:

CIccCmm List of all members.

Public Member Functions

virtual ~CIccMruCmm ()
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 CIccPCSGetPCS ()
virtual icUInt32Number GetNumXforms () const
 Returns the number of profiles/transforms added.
virtual icColorSpaceSignature GetFirstXformSource ()
virtual icColorSpaceSignature GetLastXformDest ()

Static Public Member Functions

CIccMruCmmAttach (CIccCmm *pCmm, icUInt8Number nCacheSize=6)

Protected Member Functions

bool Init (CIccCmm *pCmm, icUInt8Number nCacheSize)

Protected Attributes

CIccCmmm_pCmm
icUInt16Number m_nCacheSize
icFloatNumberm_pixelData
CIccMruPixelm_pFirst
CIccMruPixelm_cache
icUInt16Number m_nNumPixel
icUInt32Number m_nTotalSamples
icUInt32Number m_nSrcSamples
icUInt32Number m_nSrcSize
icUInt32Number m_nDstSize

Detailed Description

Type: Class

Purpose: A CMM decorator class that provides limited caching of results


Constructor & Destructor Documentation

CIccMruCmm::~CIccMruCmm  )  [virtual]
 

Name: CIccMruCmm::~CIccMruCmm

Purpose: destructor


Member Function Documentation

virtual icStatusCMM CIccMruCmm::AddXform CIccProfile Profile,
icRenderingIntent  nIntent = icUnknownIntent,
icXformInterp  nInterp = icInterpLinear,
icXformLutType  nLutType = icXformLutColor,
bool  bUseMpeTags = true
[inline, 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 from CIccCmm.

virtual icStatusCMM CIccMruCmm::AddXform CIccProfile pProfile,
icRenderingIntent  nIntent = icUnknownIntent,
icXformInterp  nInterp = icInterpLinear,
icXformLutType  nLutType = icXformLutColor,
bool  bUseMpeTags = true
[inline, 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 from CIccCmm.

virtual icStatusCMM CIccMruCmm::AddXform icUInt8Number pProfileMem,
icUInt32Number  nProfileLen,
icRenderingIntent  nIntent = icUnknownIntent,
icXformInterp  nInterp = icInterpLinear,
icXformLutType  nLutType = icXformLutColor,
bool  bUseMpeTags = true
[inline, 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 from CIccCmm.

virtual icStatusCMM CIccMruCmm::AddXform const icChar szProfilePath,
icRenderingIntent  nIntent = icUnknownIntent,
icXformInterp  nInterp = icInterpLinear,
icXformLutType  nLutType = icXformLutColor,
bool  bUseMpeTags = true
[inline, 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 from CIccCmm.

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

Name: CIccMruCmm::Apply

Purpose: Apply a transformation to a pixel.

Args: DstPixel - Location to store pixel results SrcPixel - Location to get pixel values from

Return: icCmmStatOk if successful

Reimplemented from CIccCmm.

CIccMruCmm * CIccMruCmm::Attach CIccCmm pCmm,
icUInt8Number  nCacheSize = 6
[static]
 

Name: CIccMruCmm::Attach

Purpose: Create a Cmm decorator object that implements a cache of most recently used pixel transformations.

Args: pCmm - pointer to cmm object that we are attaching to. nCacheSize - number of most recently used transformations to cache

Return: A CIccMruCmm object that represents a cached form of the pCmm passed in. The pCmm will be owned by the returned object.

If this function fails the pCmm object will be deleted.

virtual icStatusCMM CIccMruCmm::Begin  )  [inline, 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 from CIccCmm.

virtual icColorSpaceSignature CIccMruCmm::GetFirstXformSource  )  [inline, virtual]
 

Name: CIccCmm::GetFirstXformSource

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

Return: colorspace

Reimplemented from CIccCmm.

virtual icColorSpaceSignature CIccMruCmm::GetLastXformDest  )  [inline, virtual]
 

Name: CIccCmm::GetNumXforms

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

Return: colorspace

Reimplemented from CIccCmm.

virtual icUInt32Number CIccMruCmm::GetNumXforms  )  const [inline, 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 from CIccCmm.

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

Reimplemented from CIccCmm.

bool CIccMruCmm::Init CIccCmm pCmm,
icUInt8Number  nCacheSize
[protected]
 

Name: CIccMruCmm::Init

Purpose: Initialize the object and set up the cache

Args: pCmm - pointer to cmm object that we are attaching to. nCacheSize - number of most recently used transformations to cache

Return: true if successful

virtual icStatusCMM CIccMruCmm::RemoveAllIO  )  [inline, 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 from CIccCmm.


Member Data Documentation

CIccMruPixel* CIccMruCmm::m_cache [protected]
 

icUInt16Number CIccMruCmm::m_nCacheSize [protected]
 

icUInt32Number CIccMruCmm::m_nDstSize [protected]
 

icUInt16Number CIccMruCmm::m_nNumPixel [protected]
 

icUInt32Number CIccMruCmm::m_nSrcSamples [protected]
 

icUInt32Number CIccMruCmm::m_nSrcSize [protected]
 

icUInt32Number CIccMruCmm::m_nTotalSamples [protected]
 

CIccCmm* CIccMruCmm::m_pCmm [protected]
 

CIccMruPixel* CIccMruCmm::m_pFirst [protected]
 

icFloatNumber* CIccMruCmm::m_pixelData [protected]
 


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