Hoyt's FORK of DemoIccMAX 2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
IccCmm.cpp File Reference

File: IccCmm.cpp. More...

#include "IccXformFactory.h"
#include "IccTag.h"
#include "IccMpeBasic.h"
#include "IccArrayBasic.h"
#include "IccStructBasic.h"
#include "IccIO.h"
#include "IccApplyBPC.h"
#include "IccSparseMatrix.h"
#include "IccEncoding.h"
#include "IccMatrixMath.h"
+ Include dependency graph for IccCmm.cpp:

Go to the source code of this file.

Macros

#define ICCDUMPPIXEL(n, pix)
 
#define ICCPCSSTEPDUMPFMT   ICCMTXSTEPDUMPFMT
 
#define IsCompatSpace(x, y)   ((x)==(y) || (IsSpacePCS(x) && IsSpacePCS(y)) || (IsSpaceMCS(x) && IsSpaceMCS(y))/* || (IsSpaceCMYK(x) && IsSpaceCMYK(y))*/)
 
#define IsNChannelCompat(x, y)   ((IsSpaceNChannel(x) && icNumColorSpaceChannels(x)==icGetSpaceSamples(y)) || (IsSpaceNChannel(y) && icNumColorSpaceChannels(y)==icGetSpaceSamples(x)))
 
#define IsSpaceCMYK(x)   ((x)==icSigCmykData || (x)==icSig4colorData)
 
#define IsSpaceColorimetricPCS(x)   ((x)==icSigXYZPcsData || (x)==icSigLabPcsData)
 
#define IsSpaceMCS(x)   (icGetColorSpaceType(x)==icSigSrcMCSChannelData)
 
#define IsSpaceNChannel(x)   (icGetColorSpaceType(x)==icSigNChannelData)
 
#define IsSpacePCS(x)   (IsSpaceColorimetricPCS(x) || IsSpaceSpectralPCS(x))
 

Functions

static __inline bool IsSpaceSpectralPCS (icUInt32Number sig)
 
static icFloatNumber RGBClip (icFloatNumber v, CIccCurve *pCurve)
 
static icFloatNumber XYZDescale (icFloatNumber v)
 
static icFloatNumber XYZScale (icFloatNumber v)
 

Variables

icFloatNumber icD50XYZ [3]
 

Detailed Description

File: IccCmm.cpp.

Contains: Implementation of the CIccCmm class.

Version: V1

Copyright: � see ICC Software License

Definition in file IccCmm.cpp.

Macro Definition Documentation

◆ ICCDUMPPIXEL

#define ICCDUMPPIXEL ( n,
pix )

Definition at line 3387 of file IccCmm.cpp.

◆ ICCPCSSTEPDUMPFMT

#define ICCPCSSTEPDUMPFMT   ICCMTXSTEPDUMPFMT

Definition at line 118 of file IccCmm.cpp.

◆ IsCompatSpace

#define IsCompatSpace ( x,
y )   ((x)==(y) || (IsSpacePCS(x) && IsSpacePCS(y)) || (IsSpaceMCS(x) && IsSpaceMCS(y))/* || (IsSpaceCMYK(x) && IsSpaceCMYK(y))*/)

Definition at line 115 of file IccCmm.cpp.

◆ IsNChannelCompat

#define IsNChannelCompat ( x,
y )   ((IsSpaceNChannel(x) && icNumColorSpaceChannels(x)==icGetSpaceSamples(y)) || (IsSpaceNChannel(y) && icNumColorSpaceChannels(y)==icGetSpaceSamples(x)))

Definition at line 113 of file IccCmm.cpp.

◆ IsSpaceCMYK

#define IsSpaceCMYK ( x)    ((x)==icSigCmykData || (x)==icSig4colorData)

Definition at line 111 of file IccCmm.cpp.

◆ IsSpaceColorimetricPCS

#define IsSpaceColorimetricPCS ( x)    ((x)==icSigXYZPcsData || (x)==icSigLabPcsData)

Definition at line 107 of file IccCmm.cpp.

◆ IsSpaceMCS

#define IsSpaceMCS ( x)    (icGetColorSpaceType(x)==icSigSrcMCSChannelData)

Definition at line 110 of file IccCmm.cpp.

◆ IsSpaceNChannel

#define IsSpaceNChannel ( x)    (icGetColorSpaceType(x)==icSigNChannelData)

Definition at line 108 of file IccCmm.cpp.

◆ IsSpacePCS

#define IsSpacePCS ( x)    (IsSpaceColorimetricPCS(x) || IsSpaceSpectralPCS(x))

Definition at line 109 of file IccCmm.cpp.

Function Documentation

◆ IsSpaceSpectralPCS()

static __inline bool IsSpaceSpectralPCS ( icUInt32Number sig)
static

◆ RGBClip()

static icFloatNumber RGBClip ( icFloatNumber v,
CIccCurve * pCurve )
static

Definition at line 5196 of file IccCmm.cpp.

5197{
5198 if (v<=0)
5199 return(pCurve->Apply(0));
5200 else if (v>=1.0)
5201 return (pCurve->Apply(1.0));
5202
5203 return pCurve->Apply(v);
5204}
virtual icFloatNumber Apply(icFloatNumber v) const
Definition IccTagLut.h:101

References CIccCurve::Apply().

+ Here is the call graph for this function:

◆ XYZDescale()

static icFloatNumber XYZDescale ( icFloatNumber v)
static

Definition at line 5191 of file IccCmm.cpp.

5192{
5193 return (icFloatNumber)(v * 65535.0 / 32768.0);
5194}
float icFloatNumber
All floating point operations/variables in IccProfLib use the icFloatNumber data type.
Definition IccDefs.h:100

◆ XYZScale()

static icFloatNumber XYZScale ( icFloatNumber v)
static

Definition at line 5185 of file IccCmm.cpp.

5186{
5187 v = (icFloatNumber)(v * 32768.0 / 65535.0);
5188 return v;
5189}

Variable Documentation

◆ icD50XYZ