IccMAX 2.1.27
Color Profile Tools
|
#include <IccTagXml.h>
Public Member Functions | |
virtual | ~CIccTagXmlStruct () |
bool | AreElemsUnique () const |
bool | AttachElem (icSignature sig, CIccTag *pTag) |
bool | DeleteElem (icSignature sig) |
virtual void | Describe (std::string &sDescription, int nVerboseness) |
virtual void | DetachIO () |
CIccTag * | FindElem (icSignature sig) |
CIccTag * | FindElemOfType (icSignature sig, icTagTypeSignature sigType) |
virtual const char * | GetClassName () const |
TagEntryList * | GetElemList () |
icFloatNumber | GetElemNumberValue (icSignature sig, icFloatNumber defaultValue=0) |
virtual const char * | GetExtClassName () const |
virtual const char * | GetExtDerivedClassName () const |
virtual IIccExtensionTag * | GetExtension () |
IIccStruct * | GetStructHandler () |
virtual icArraySignature | GetTagArrayType () const |
virtual icStructSignature | GetTagStructType () const |
virtual icTagTypeSignature | GetType () const |
virtual bool | IsArrayType () |
virtual bool | IsMBBType () |
virtual bool | IsNumArrayType () const |
virtual bool | IsSupported () |
virtual CIccTag * | NewCopy () const |
virtual bool | ParseXml (xmlNode *pNode, std::string &parseStr) |
virtual bool | Read (icUInt32Number size, CIccIO *pIO) |
virtual bool | Read (icUInt32Number size, CIccIO *pIO, CIccProfile *pProfile) |
virtual bool | ReadAll () |
virtual bool | SetTagStructType (icStructSignature sig) |
virtual bool | ToXml (std::string &xml, std::string blanks="") |
virtual icValidateStatus | Validate (std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const |
virtual bool | Write (CIccIO *pIO) |
Static Public Member Functions | |
static CIccTag * | Create (icTagTypeSignature sig) |
static std::string | GetElemName (icTagSignature sig, icStructSignature sigThis) |
static CIccTagStruct * | ParseMem (icUInt8Number *pMem, icUInt32Number size) |
Data Fields | |
icUInt32Number | m_nReserved |
Protected Member Functions | |
void | Cleanup () |
bool | DetachElem (CIccTag *pTag) |
IccTagEntry * | GetElem (CIccTag *pTag) const |
IccTagEntry * | GetElem (icSignature sig) const |
bool | LoadElem (IccTagEntry *pTagEntry, CIccIO *pIO) |
bool | ParseTag (xmlNode *pNode, std::string &parseStr) |
Protected Attributes | |
TagEntryList * | m_ElemEntries |
TagPtrList * | m_ElemVals |
IIccStruct * | m_pStruct |
icStructSignature | m_sigStructType |
icUInt32Number | m_tagSize |
icUInt32Number | m_tagStart |
|
inlinevirtual |
|
inherited |
Name: CIccTagStruct::AreElemsUnique
Purpose: For each tag it checks to see if any other tags have the same signature.
Return: true if all tags have unique signatures, or false if there are duplicate tag signatures.
References CIccTagStruct::m_ElemEntries, and icTag::sig.
Referenced by CIccTagStruct::Validate().
|
inherited |
Name: CIccTagStruct::AttachTag
Purpose: Assign a tag object to a directory entry in the profile. This will assume ownership of the tag object.
Args: sig - signature of tag 'name' to use to assign tag object with, pTag - pointer to tag object to attach to profile.
Return: true = tag assigned to profile, false - tag not assigned to profile (tag already exists).
References CIccTagStruct::GetElem(), CIccTagStruct::m_ElemEntries, CIccTagStruct::m_ElemVals, icTag::offset, icTag::sig, and icTag::size.
Referenced by icConvertEncodingProfile(), and ParseTag().
|
protectedinherited |
Name: CIccTagStruct::Cleanup
Purpose: Detach from a pending IO object
References icSigUndefinedStruct, CIccTagStruct::m_ElemEntries, CIccTagStruct::m_ElemVals, CIccTagStruct::m_pStruct, and CIccTagStruct::m_sigStructType.
Referenced by CIccTagStruct::~CIccTagStruct(), CIccTagStruct::operator=(), and CIccTagStruct::Read().
|
staticinherited |
Name: CIccTag::Create
Purpose: This is a static tag creator based upon tag signature type
Args: sig = tag type signature
Return: Pointer to Allocated tag
References CIccTagCreator::CreateTag().
Referenced by CIccDefaultEncProfileConverter::ConvertFromParams(), CIccTagStruct::LoadElem(), CIccProfileXml::ParseTag(), ParseTag(), CIccMpeXmlTintArray::ParseXml(), CIccTagXmlArray::ParseXml(), CIccMpeTintArray::Read(), CIccTagLutAtoB::Read(), CIccTagLut8::Read(), CIccTagLut16::Read(), CIccTagLut8::SetColorSpaces(), CIccTagLut16::SetColorSpaces(), and CIccProfileDescText::SetType().
|
inherited |
Name: CIccTagStruct::DeleteSubTag
Purpose: Delete tag directory entry with given signature. If no other tag directory entries use the tag object, the tag object will also be deleted.
Args: sig - signature of tag directory entry to remove
Return: true - desired tag directory entry was found and deleted, false - desired tag directory entry was not found
References CIccTagStruct::DetachElem(), CIccTagStruct::GetElem(), CIccTagStruct::m_ElemEntries, and icTag::sig.
Referenced by icConvertEncodingProfile().
|
virtualinherited |
Name: CIccTagStruct::Describe
Purpose:
Args:
Return:
Reimplemented from CIccTag.
References CIccStructUnknown::CIccStructUnknown(), CIccStructCreator::CreateStruct(), CIccStructUnknown::Describe(), IIccStruct::Describe(), CIccStructCreator::GetStructSigName(), CIccTagStruct::m_pStruct, and CIccTagStruct::m_sigStructType.
|
protectedinherited |
Name: CIccTagStruct::DetachSubTag
Purpose: Remove association of a tag object from all tag directory entries. Associated tag directory entries will be removed from the tag directory. The tag object is NOT deleted from memory, but is considered to be no longer associated with the CIccTagStruct object. The caller assumes ownership of the tag object.
Args: pTag - pointer to tag object unassociated with the profile object
Return: true - tag object found and unassociated with profile object, false - tag object not found
References CIccTagStruct::m_ElemEntries, and CIccTagStruct::m_ElemVals.
Referenced by CIccTagStruct::DeleteElem().
|
inlinevirtualinherited |
Function: ReadAll() - Read All sub data for tag from file. Called by CIccProfile::ReadAll() to read all sub data for tag
Returns true if ReadAll is successful.
|
inherited |
Name: CIccTagStruct::FindElem
Purpose: Finds the tag object associated with the struct entry with the given signature.
Args: sig - element signature to find
Return: The desired tag object, or NULL if unable to find in the struct
References CIccTagStruct::GetElem().
Referenced by CIccStructUnknown::GetElem(), CIccTagStruct::GetElemNumberValue(), CIccStructNamedColor::getName(), ParseTag(), ToXml(), CIccStructNamedColor::Validate(), CIccStructBRDF::Validate(), and CIccStructColorantInfo::Validate().
|
inherited |
Name: CIccTagStruct::FindElemOfType
Purpose: Finds the tag object associated with the struct entry with the given signature that has a specific tag type.
Args: sig - element signature to find sigType - signature of desired tag type
Return: The desired tag object, or NULL if unable to find in the struct
References CIccTagStruct::GetElem(), and CIccTag::GetType().
Referenced by CIccDefaultEncProfileConverter::ConvertFromParams(), and icGetParamFloatNum().
|
inlinevirtual |
Reimplemented from CIccTagStruct.
|
protectedinherited |
Name: CIccTagStruct::GetElem
Purpose: Finds the first tag entry that points to the indicated tag object
Args: pTag - pointer to tag object desired to be found
Return: pointer to first tag struct entry that points to the desired tag object, or NULL if tag object is not pointed to by any tag struct entries.
References CIccTagStruct::m_ElemEntries.
Referenced by CIccTagStruct::DeleteElem().
|
protectedinherited |
Name: CIccTagStruct::GetElem
Purpose: Get a tag entry with a given signature
Args: sig - signature id to find in tag structure
Return: Pointer to desired tag struct entry, or NULL if not found.
References CIccTagStruct::m_ElemEntries, and icTag::sig.
Referenced by CIccTagStruct::AttachElem(), CIccTagStruct::FindElem(), and CIccTagStruct::FindElemOfType().
|
inlineinherited |
References CIccTagStruct::m_ElemEntries.
Referenced by CIccStructUnknown::Describe(), IIccStruct::Describe(), and icConvertEncodingProfile().
|
staticinherited |
|
inherited |
Name: CIccTagStruct::GetElemNumberValue
Purpose: Returns the number value associated with the first entry of a CIccTagNumberArray based tag with the given signature.
Args: sig - subtag signature to find defaultValue - value to use if the tag cannot be found, or is not a number tag
Return: The tags value or defaultValue if unable to find subtag in the struct or if the subtag is not a CIccTagNumberArray based tag.
References CIccTagStruct::FindElem(), CIccTagNumArray::GetValues(), and CIccTag::IsNumArrayType().
Referenced by CIccDefaultEncProfileConverter::ConvertFromParams().
|
inlinevirtualinherited |
Implements IIccExtensionTag.
Referenced by icProfDescToXml(), and icXmlParseProfDesc().
|
inlinevirtualinherited |
|
inlinevirtual |
Reimplemented from CIccTag.
|
inherited |
Name: CIccTagStruct::GetStructHandler
Purpose: Get struct object handler
Args:
Return: Pointer to a IIccStruct object handler for the associated struct type
References CIccStructCreator::CreateStruct(), CIccTagStruct::m_pStruct, and CIccTagStruct::m_sigStructType.
Referenced by icGetTagStructHandler(), ToXml(), and CIccArrayNamedColor::Validate().
|
inlinevirtualinherited |
Reimplemented in CIccTagArray.
References icSigUndefinedArray.
Referenced by icGetTagArrayHandlerOfType(), and CIccProfileXml::ParseTag().
|
inlinevirtualinherited |
Reimplemented from CIccTag.
References CIccTagStruct::m_sigStructType.
Referenced by CIccDefaultEncProfileConverter::ConvertFromParams(), IIccStruct::Describe(), and CIccStructNamedColor::Validate().
|
inlinevirtualinherited |
Function: GetType()
Purpose: Get Tag Type. Each derived tag will implement it's own GetType() function.
Reimplemented from CIccTag.
References icSigTagStructType.
Referenced by CIccTagStruct::Write().
|
inlinevirtualinherited |
Reimplemented in CIccTagXYZ, CIccTagChromaticity, CIccTagSparseMatrixArray, CIccTagFixedNum< T, Tsig >, CIccTagNum< T, Tsig >, CIccTagFloatNum< T, Tsig >, and CIccTagData.
Referenced by MyTagDialog::MyTagDialog(), and DumpTag().
|
inlinevirtualinherited |
Reimplemented in CIccMBB.
Referenced by CIccProfileXml::ParseTag().
|
inlinevirtualinherited |
Reimplemented in CIccTagSparseMatrixArray, CIccTagFixedNum< T, Tsig >, CIccTagNum< T, Tsig >, and CIccTagFloatNum< T, Tsig >.
Referenced by CIccArrayNamedColor::FindDeviceColor(), CIccArrayNamedColor::FindPcsColor(), CIccArrayNamedColor::FindSpectralColor(), CIccTagStruct::GetElemNumberValue(), CIccStructNamedColor::GetNumArray(), CIccMpeXmlTintArray::ParseXml(), and CIccMpeTintArray::Read().
|
inlinevirtualinherited |
Function: IsSupported(size, pIO) - Check if tag fully supported for apply purposes. By Default inherited classes are supported. Unknown tag types are not supported.
Returns true if tag type is supported.
Reimplemented in CIccTagUnknown, CIccTagEmbeddedProfile, and CIccTagMultiProcessElement.
|
protectedinherited |
Name: CIccTagStruct::LoadSubTag
Purpose: This will load from the indicated IO object and associate a tag object to a tag directory entry. Nothing happens if tag directory entry is associated with a tag object.
Args: pTagEntry - pointer to tag directory entry, pIO - pointer to IO object to read tag object data from
Return: true - tag directory object associated with tag directory entry, false - failure
References CIccTag::Create(), icSeekSet, CIccTagStruct::m_ElemEntries, CIccTagStruct::m_ElemVals, CIccTagStruct::m_tagSize, CIccTagStruct::m_tagStart, icTag::offset, CIccTag::Read(), CIccIO::Read32(), CIccIO::Seek(), and icTag::size.
Referenced by CIccTagStruct::Read().
|
inlinevirtualinherited |
Function: NewCopy(sDescription) Each derived tag will implement it's own NewCopy() function.
Parameter(s): none
Returns a new CIccTag object that is a copy of this object.
Reimplemented from CIccTag.
References CIccTagStruct::CIccTagStruct().
|
staticinherited |
Name: CIccTagStruct::ParseMem
Purpose:
Args:
Return:
References CIccMemIO::Attach(), and CIccTagStruct::Read().
|
protected |
Name: CIccTagXmlStruct::ParseTag
Purpose: This will load from the indicated IO object and associate a tag object to a tag directory entry. Nothing happens if tag directory entry is associated with a tag object.
Args: pNode - pointer to xmlNode object to parse from
Return: true - tag from node successfully parsed, false - failure
References CIccTagStruct::AttachElem(), CIccTag::Create(), CIccTagStruct::FindElem(), IIccStruct::GetElemSig(), IIccExtensionTag::GetExtClassName(), CIccTag::GetExtension(), CIccInfo::GetTagTypeSigName(), icGetSigVal(), icGetTagNameSig(), icGetTypeNameTagSig(), icXmlAttrValue(), icXmlAttrValue(), icXmlFindAttr(), CIccTag::m_nReserved, CIccTagStruct::m_pStruct, and CIccTagXml::ParseXml().
Referenced by ParseXml().
|
virtual |
Implements CIccTagXml.
References CIccStructCreator::GetStructSig(), icGetSigVal(), icXmlFindNode(), ParseTag(), and CIccTagStruct::SetTagStructType().
|
virtualinherited |
Name: CIccTagStruct::Read
Purpose:
Args:
Return:
Reimplemented from CIccTag.
References CIccTagStruct::Cleanup(), CIccTagStruct::LoadElem(), CIccTagStruct::m_ElemEntries, CIccTag::m_nReserved, CIccTagStruct::m_tagSize, CIccTagStruct::m_tagStart, icTag::offset, CIccIO::Read32(), CIccTagStruct::SetTagStructType(), icTag::sig, icTag::size, and CIccIO::Tell().
Referenced by CIccTagStruct::ParseMem().
|
inlinevirtualinherited |
Function: Read(size, pIO) - Read tag from file. Each derived tag will implement it's own Read() function.
Parameter(s): size - number of bytes in tag including the type signature. pIO - IO object used to read in tag. The IO object should already be initialized to point to the begining of the tag.
Returns true if Read is successful.
Reimplemented in CIccTagEmbeddedProfile.
References CIccTag::Read().
|
inlinevirtualinherited |
Function: ReadAll() - Read All sub data for tag from file. Called by CIccProfile::ReadAll() to read all sub data for tag
Returns true if ReadAll is successful.
Reimplemented in CIccTagEmbeddedProfile.
|
virtualinherited |
Name: CIccTagStruct::SetTagStructType
Purpose:
Args:
Return:
References CIccStructCreator::CreateStruct(), CIccTagStruct::m_pStruct, and CIccTagStruct::m_sigStructType.
Referenced by ParseXml(), and CIccTagStruct::Read().
|
virtual |
Implements CIccTagXml.
References CIccTagStruct::FindElem(), IIccStruct::GetDisplayName(), IIccStruct::GetElemName(), CIccTag::GetExtension(), CIccTagStruct::GetStructHandler(), CIccTag::GetType(), icFixXml(), icGetSigStr(), icGetTagSigTypeName(), CIccTagStruct::m_ElemEntries, CIccTagStruct::m_sigStructType, icTag::offset, icTag::sig, and CIccTagXml::ToXml().
|
virtualinherited |
Name: CIccTagStruct::Validate
Purpose:
Args:
Return:
Reimplemented from CIccTag.
References CIccTagStruct::AreElemsUnique(), CIccInfo::GetSigPathName(), icGetSigPath(), icMaxStatus(), icMsgValidateWarning, icValidateWarning, CIccTagStruct::m_ElemEntries, CIccTagStruct::m_pStruct, icTag::sig, CIccTag::Validate(), and IIccStruct::Validate().
|
virtualinherited |
Name: CIccTagStruct::Write
Purpose:
Args:
Return:
Reimplemented from CIccTag.
References CIccIO::Align32(), CIccIO::GetLength(), CIccTagStruct::GetType(), icSeekSet, CIccTagStruct::m_ElemEntries, CIccTag::m_nReserved, CIccTagStruct::m_sigStructType, CIccTagStruct::m_tagStart, icTag::offset, CIccIO::Seek(), icTag::sig, icTag::size, CIccIO::Tell(), CIccTag::Write(), and CIccIO::Write32().
|
protectedinherited |
Referenced by CIccTagStruct::CIccTagStruct(), CIccTagStruct::CIccTagStruct(), CIccTagStruct::~CIccTagStruct(), CIccTagStruct::AreElemsUnique(), CIccTagStruct::AttachElem(), CIccTagStruct::Cleanup(), CIccTagStruct::DeleteElem(), CIccTagStruct::DetachElem(), CIccTagStruct::GetElem(), CIccTagStruct::GetElem(), CIccTagStruct::GetElemList(), IIccStruct::getTagEntries(), CIccTagStruct::LoadElem(), CIccTagStruct::operator=(), CIccTagStruct::Read(), ToXml(), CIccTagStruct::Validate(), and CIccTagStruct::Write().
|
protectedinherited |
|
inherited |
Referenced by CIccTag::CIccTag(), CIccTagMultiProcessElement::CIccTagMultiProcessElement(), CIccTagMultiProcessElement::CIccTagMultiProcessElement(), CIccTagMultiProcessElement::operator=(), CIccProfileXml::ParseTag(), ParseTag(), CIccMpeXmlTintArray::ParseXml(), CIccTagXmlArray::ParseXml(), CIccTagText::Read(), CIccTagUtf8Text::Read(), CIccTagZipUtf8Text::Read(), CIccTagUtf16Text::Read(), CIccTagTextDescription::Read(), CIccTagSignature::Read(), CIccTagNamedColor2::Read(), CIccTagXYZ::Read(), CIccTagChromaticity::Read(), CIccTagCicp::Read(), CIccTagSparseMatrixArray::Read(), CIccTagFixedNum< T, Tsig >::Read(), CIccTagNum< T, Tsig >::Read(), CIccTagFloatNum< T, Tsig >::Read(), CIccTagMeasurement::Read(), CIccTagMultiLocalizedUnicode::Read(), CIccTagData::Read(), CIccTagDateTime::Read(), CIccTagColorantOrder::Read(), CIccTagColorantTable::Read(), CIccTagViewingConditions::Read(), CIccTagProfileSeqDesc::Read(), CIccTagResponseCurveSet16::Read(), CIccTagSpectralDataInfo::Read(), CIccTagSpectralViewingConditions::Read(), CIccTagEmbeddedHeightImage::Read(), CIccTagEmbeddedNormalImage::Read(), CIccTagStruct::Read(), CIccTagArray::Read(), CIccTagDict::Read(), CIccTagCurve::Read(), CIccTagParametricCurve::Read(), CIccTagLutAtoB::Read(), CIccTagLut8::Read(), CIccTagLut16::Read(), CIccTagGamutBoundaryDesc::Read(), CIccTagMultiProcessElement::Read(), CIccTagProfileSequenceId::Read(), CIccTagEmbeddedProfile::Read(), CIccTag::Validate(), CIccTagText::Write(), CIccTagUtf8Text::Write(), CIccTagZipUtf8Text::Write(), CIccTagUtf16Text::Write(), CIccTagTextDescription::Write(), CIccTagSignature::Write(), CIccTagNamedColor2::Write(), CIccTagXYZ::Write(), CIccTagChromaticity::Write(), CIccTagCicp::Write(), CIccTagSparseMatrixArray::Write(), CIccTagFixedNum< T, Tsig >::Write(), CIccTagNum< T, Tsig >::Write(), CIccTagFloatNum< T, Tsig >::Write(), CIccTagMeasurement::Write(), CIccTagMultiLocalizedUnicode::Write(), CIccTagData::Write(), CIccTagDateTime::Write(), CIccTagColorantOrder::Write(), CIccTagColorantTable::Write(), CIccTagViewingConditions::Write(), CIccTagProfileSeqDesc::Write(), CIccTagResponseCurveSet16::Write(), CIccTagSpectralDataInfo::Write(), CIccTagSpectralViewingConditions::Write(), CIccTagEmbeddedHeightImage::Write(), CIccTagEmbeddedNormalImage::Write(), CIccTagStruct::Write(), CIccTagArray::Write(), CIccTagDict::Write(), CIccTagEmbeddedProfile::Write(), CIccTagCurve::Write(), CIccTagParametricCurve::Write(), CIccTagLutAtoB::Write(), CIccTagLut8::Write(), CIccTagLut16::Write(), CIccTagGamutBoundaryDesc::Write(), CIccTagMultiProcessElement::Write(), and CIccTagProfileSequenceId::Write().
|
protectedinherited |
Referenced by CIccTagStruct::CIccTagStruct(), CIccTagStruct::CIccTagStruct(), CIccTagStruct::~CIccTagStruct(), CIccTagStruct::Cleanup(), CIccTagStruct::Describe(), CIccTagStruct::GetStructHandler(), CIccTagStruct::operator=(), ParseTag(), CIccTagStruct::SetTagStructType(), and CIccTagStruct::Validate().
|
protectedinherited |
|
protectedinherited |
Referenced by CIccTagStruct::LoadElem(), and CIccTagStruct::Read().
|
protectedinherited |
Referenced by CIccTagStruct::LoadElem(), CIccTagStruct::Read(), and CIccTagStruct::Write().