72 #pragma warning( disable: 4786)
89#ifdef USEREFICCMAXNAMESPACE
96 m_pTagStruct = pTagStruct;
97 m_pElemNameSigTable = NULL;
122 TagEntryList *entries = m_pTagStruct->GetElemList();
123 TagEntryList::iterator i;
125 for (n=0, i=entries->begin(); i!=entries->end(); n++, i++) {
128 sDescription +=
"\n";
129 sprintf(buf,
"Begin SubTag(%s)\n", GetElemName(i->TagInfo.sig).c_str());
131 i->pTag->Describe(sDescription, nVerboseness);
132 sprintf(buf,
"End SubTag(%s)\n", GetElemName(i->TagInfo.sig).c_str());
142 if (m_pElemNameSigTable) {
144 for (i = 0; m_pElemNameSigTable[i].szName; i++) {
145 if (m_pElemNameSigTable[i].nSig == sigElem)
146 return m_pElemNameSigTable[i].szName;
153 str =
"PrivateSubTag";
161 if (m_pElemNameSigTable) {
163 for (i = 0; m_pElemNameSigTable[i].szName; i++) {
164 if (!strcmp(m_pElemNameSigTable[i].
szName, szElemName))
165 return m_pElemNameSigTable[i].nSig;
177 return m_pTagStruct->FindElem(sigElem);
185 TagEntryList *pList = getTagEntries();
188 TagEntryList::iterator i;
189 for (i = pList->begin(); i != pList->end(); i++) {
195 sReport +=
"Struct Handler not connected to CIccTagStruct object with valid sub-tags!";
215 m_pTagStruct = pTagStruct;
278 sReport += sSigPathName;
279 sReport +=
" - Missing required struct member(s).\n";
316 m_pTagStruct = pTagStruct;
346 m_pTagStruct = pTagStruct;
375 sReport += sSigPathName;
376 sReport +=
" - Missing required struct member(s).\n";
398 m_pTagStruct= pTagStruct;
438 m_pTagStruct = pTagStruct;
464 return std::string((
char*)pText->
GetText());
472 CIccTag *pTag = GetElem(sigElem);
494 pData = GetNumArray(sigElem);
497 if (!pData || !nSamples)
512 if (!pTint->
ValuePos(pos, tint, bNoZero))
515 bNeedZero = (pos<0.0f);
518 pos = (pos + 1.0f)/nEntries;
520 pos = pos / (nEntries-1.0f);
548 bool rv = pData->
Interpolate(dstColor, pos, nSamples, zeroVals);
550 if (zeroVals && zeroVals!=vals)
567 sReport += sSigPathName;
568 sReport +=
" - Missing required struct member(s).\n";
591 m_pTagStruct = pTagStruct;
622 m_pTagStruct = pTagStruct;
640#ifdef USEREFICCMAXNAMESPACE
float icFloatNumber
All floating point operations/variables in IccProfLib use the icFloatNumber data type.
@ icValidateCriticalError
static SIccElemNameSig g_IccStructColorantInfoMbrTable[]
static SIccElemNameSig g_IccStructColorEncodingParamsMbrTable[]
static SIccElemNameSig g_IccStructNamedColorMbrTable[]
static SIccElemNameSig g_IccStructBRDFMbrTable[]
static SIccElemNameSig g_IccStructMeasurementInfoElemTable[]
static SIccElemNameSig g_IccStructProfileInfoMbrTable[]
static SIccElemNameSig g_IccStructTintZeroMbrTable[]
File: IccStructFactory.h.
icValidateStatus icMaxStatus(icValidateStatus s1, icValidateStatus s2)
Name: icMaxStatus.
std::string icGetSigPath(icUInt32Number nSig)
const char * icMsgValidateWarning
unsigned int icUInt32Number
std::string GetSigPathName(std::string sigPath)
virtual IIccStruct * NewCopy(CIccTagStruct *pNewTagStruct) const
virtual icValidateStatus Validate(std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const
virtual ~CIccStructBRDF()
CIccStructBRDF(CIccTagStruct *pTagStruct=NULL)
virtual icSigBRDFType GetBRDFType() const
virtual icSigBRDFFunction GetBRDFFunction() const
Class: CIccStructColorEncodingParams.
virtual IIccStruct * NewCopy(CIccTagStruct *pNewTagStruct) const
CIccStructColorEncodingParams(CIccTagStruct *pTagStruct=NULL)
virtual ~CIccStructColorEncodingParams()
Class: CIccStructColorantInfo.
CIccStructColorantInfo(CIccTagStruct *pTagStruct=NULL)
virtual ~CIccStructColorantInfo()
virtual IIccStruct * NewCopy(CIccTagStruct *pNewTagStruct) const
virtual icValidateStatus Validate(std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const
Class: CIccStructMeasurementInfo.
virtual IIccStruct * NewCopy(CIccTagStruct *pNewTagStruct) const
CIccStructMeasurementInfo(CIccTagStruct *pTagStruct=NULL)
virtual ~CIccStructMeasurementInfo()
Class: CIccStructNamedColor.
CIccStructNamedColor(CIccTagStruct *pTagStruct=NULL)
CIccTagNumArray * GetNumArray(icSignature sigElem) const
icValidateStatus Validate(std::string sigPath, std::string &sReport, const CIccProfile *pProfile) const
bool GetTint(icFloatNumber *dstColor, icFloatNumber tint, CIccTagNumArray *pZero, icSignature sigElem, icUInt32Number nSamples) const
std::string getName() const
virtual ~CIccStructNamedColor()
virtual IIccStruct * NewCopy(CIccTagStruct *pNewTagStruct) const
Class: CIccStructProfileInfo.
virtual ~CIccStructProfileInfo()
CIccStructProfileInfo(CIccTagStruct *pTagStruct=NULL)
virtual IIccStruct * NewCopy(CIccTagStruct *pNewTagStruct) const
Class: CIccStructTintZero.
CIccStructTintZero(CIccTagStruct *pTagStruct=NULL)
virtual IIccStruct * NewCopy(CIccTagStruct *pNewTagStruct) const
virtual ~CIccStructTintZero()
Class: CIccStructUnknown.
virtual std::string GetElemName(icSignature sigElem) const
virtual icValidateStatus Validate(std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const
virtual IIccStruct * NewCopy(CIccTagStruct *pNewTagStruct) const
virtual ~CIccStructUnknown()
CIccStructUnknown(CIccTagStruct *pTagStruct=NULL)
virtual icSignature GetElemSig(const icChar *szElemName) const
CIccTag * GetElem(icSignature sigElem) const
virtual void Describe(std::string &sDescription, int nVerboseness) const
virtual icTagTypeSignature GetType() const
Function: GetType()
virtual bool IsNumArrayType() const
virtual bool Interpolate(icFloatNumber *DstVector, icFloatNumber pos, icUInt32Number nVectorSize=1, icFloatNumber *zeroVals=NULL) const =0
virtual bool GetValues(icFloatNumber *DstVector, icUInt32Number nStart=0, icUInt32Number nVectorSize=1) const =0
virtual icUInt32Number GetNumValues() const =0
virtual bool ValuePos(icFloatNumber &DstPos, icFloatNumber val, bool &bNoZero) const =0
icUInt32Number GetValue() const
const icUChar * GetText() const