#include <IccCmm.h>
Inheritance diagram for CIccXform:
Public Member Functions | |
CIccXform () | |
virtual | ~CIccXform () |
virtual icXformType | GetXformType ()=0 |
virtual icStatusCMM | Begin () |
virtual void | Apply (icFloatNumber *DstPixel, const icFloatNumber *SrcPixel)=0 |
virtual bool | RemoveIO () |
virtual icColorSpaceSignature | GetSrcSpace () const |
Returns the source color space of the transform. | |
virtual icColorSpaceSignature | GetDstSpace () const |
Returns the destination color space of the transform. | |
virtual bool | UseLegacyPCS () const |
Checks if version 2 PCS is to be used. | |
virtual bool | IsVersion2 () const |
Checks if the profile is version 2. | |
bool | IsInput () const |
Checks if the profile is to be used as input profile. | |
void | SetParams (CIccProfile *pProfile, bool bInput, icRenderingIntent nIntent, icXformInterp nInterp) |
The following function is for Overriden create function. | |
virtual LPIccCurve * | ExtractInputCurves ()=0 |
Use these functions to extract the input/output curves from the xform. | |
virtual LPIccCurve * | ExtractOutputCurves ()=0 |
Static Public Member Functions | |
CIccXform * | Create (CIccProfile *pProfile, bool bInput=true, icRenderingIntent nIntent=icUnknownIntent, icXformInterp nInterp=icInterpLinear, icXformLutType nLutType=icXformLutColor, bool bUseMpeTags=true) |
Note: The returned CIccXform will own the profile. | |
CIccXform * | Create (CIccProfile &pProfile, bool bInput=true, icRenderingIntent nIntent=icUnknownIntent, icXformInterp nInterp=icInterpLinear, icXformLutType nLutType=icXformLutColor, bool bUseMpeTags=true) |
Protected Member Functions | |
const icFloatNumber * | CheckSrcAbs (const icFloatNumber *Pixel) |
void | CheckDstAbs (icFloatNumber *Pixel) |
Protected Attributes | |
CIccProfile * | m_pProfile |
bool | m_bInput |
icRenderingIntent | m_nIntent |
icFloatNumber | m_AbsLab [3] |
icXYZNumber | m_MediaXYZ |
icXformInterp | m_nInterp |
Purpose: This is the base CMM xform object. A general static creation function, base behavior, and data are defined. The Create() function will assign a profile to the class. The CIccProfile object will then be owned by the xform object and later deleted when the IccXform is deleted.
|
Name: CIccXform::CIccXform Purpose: Constructor |
|
Name: CIccXform::~CIccXform Purpose: Destructor |
|
Implemented in CIccXformMatrixTRC, CIccXform3DLut, CIccXform4DLut, CIccXformNDLut, CIccXformNamedColor, and CIccXformMpe. |
|
Name: CIccXform::Begin Purpose: This function will be called before the xform is applied. Derived objects should also call this base class function to initialize for Absolute Colorimetric Intent handling which is performed through the use of the CheckSrcAbs and CheckDstAbs functions. Reimplemented in CIccXformMatrixTRC, CIccXform3DLut, CIccXform4DLut, CIccXformNDLut, CIccXformNamedColor, and CIccXformMpe. |
|
Name: CIccXform::CheckDstAbs Purpose: This function will be called by a derived CIccXform object's Apply() function AFTER the actual xform is performed to take care of Absolute to Relative adjustments needed by the xform (IE the PCS is always version 4 relative). Args: Pixel = source pixel data which will be modified |
|
Name: CIccXform::CheckSrcAbs Purpose: This function will be called by a derived CIccXform object's Apply() function BEFORE the actual xform is performed to take care of Absolute to Relative adjustments needed by the xform (IE the PCS is always version 4 relative). Args: Pixel = src pixel data (will not be modified) Return: returns Pixel or adjusted pixel data. |
|
Note: Provide an interface to work profile references. The IccProfile is copied, and the copy's ownership is turned over to the Returned CIccXform object. |
|
Note: The returned CIccXform will own the profile. Name: CIccXform::Create Purpose: This is a static Creation function that creates derived CIccXform objects and initializes them. Args: pProfile = pointer to a CIccProfile object that will be owned by the transform. This object will be destroyed when the returned CIccXform object is destroyed. The means that the CIccProfile object needs to be allocated on the heap. bInput = flag to indicate whether to use the input or output side of the profile, nIntent = the rendering intent to apply to the profile, nInterp = the interpolation algorithm to use for N-D luts. nLutType = selection of which transform lut to use Return: A suitable pXform object |
|
Use these functions to extract the input/output curves from the xform.
Implemented in CIccXformMatrixTRC, CIccXform3DLut, CIccXform4DLut, CIccXformNDLut, CIccXformNamedColor, and CIccXformMpe. |
|
Implemented in CIccXformMatrixTRC, CIccXform3DLut, CIccXform4DLut, CIccXformNDLut, CIccXformNamedColor, and CIccXformMpe. |
|
Returns the destination color space of the transform. Name: CIccXformMatrixTRC::GetDstSpace Purpose: Return the color space that is output by the transform. If a device space is either XYZ/Lab it is changed to dXYZ/dLab to avoid confusion with PCS encoding of these spaces. Device encoding of XYZ and Lab spaces left to the device. Reimplemented in CIccXformNamedColor. |
|
Returns the source color space of the transform. Name: CIccXformMatrixTRC::GetSrcSpace Purpose: Return the color space that is input to the transform. If a device space is either XYZ/Lab it is changed to dXYZ/dLab to avoid confusion with PCS encoding of these spaces. Device encoding of XYZ and Lab spaces left to the device. Reimplemented in CIccXformNamedColor. |
|
Implemented in CIccXformMatrixTRC, CIccXform3DLut, CIccXform4DLut, CIccXformNDLut, CIccXformNamedColor, and CIccXformMpe. |
|
Checks if the profile is to be used as input profile.
|
|
Checks if the profile is version 2.
|
|
|
|
The following function is for Overriden create function. Name: CIccXform::SetParams Purpose: This is an accessor function to set private values. Args: pProfile = pointer to profile associated with transform bInput = indicates whether profile is input profile nIntent = rendering intent to apply to the profile nInterp = the interpolation algorithm to use for N-D luts |
|
Checks if version 2 PCS is to be used.
Reimplemented in CIccXform3DLut, CIccXform4DLut, CIccXformNDLut, CIccXformNamedColor, and CIccXformMpe. |
|
|
|
|
|
|
|
|
|
|
|
|