IccMAX 2.1.27
Color Profile Tools
Loading...
Searching...
No Matches
CIccTagProfileSeqDesc Class Reference

#include <IccTagBasic.h>

+ Inheritance diagram for CIccTagProfileSeqDesc:
+ Collaboration diagram for CIccTagProfileSeqDesc:

Public Member Functions

 CIccTagProfileSeqDesc ()
 
 CIccTagProfileSeqDesc (const CIccTagProfileSeqDesc &ITPSD)
 
virtual ~CIccTagProfileSeqDesc ()
 
virtual void Describe (std::string &sDescription, int nVerboseness)
 
virtual void DetachIO ()
 
virtual const icCharGetClassName () const
 
virtual IIccExtensionTagGetExtension ()
 
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 CIccTagNewCopy () const
 
CIccTagProfileSeqDescoperator= (const CIccTagProfileSeqDesc &ProfSeqDescTag)
 
virtual bool Read (icUInt32Number size, CIccIO *pIO)
 
virtual bool Read (icUInt32Number size, CIccIO *pIO, CIccProfile *pProfile)
 
virtual bool ReadAll ()
 
virtual icValidateStatus Validate (std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const
 
virtual bool Write (CIccIO *pIO)
 

Static Public Member Functions

static CIccTagCreate (icTagTypeSignature sig)
 

Data Fields

CIccProfileSeqDescm_Descriptions
 
icUInt32Number m_nReserved
 

Detailed Description

Class: CIccTagProfileSeqDesc

Purpose: Profile Sequence description tag

Constructor & Destructor Documentation

◆ CIccTagProfileSeqDesc() [1/2]

CIccTagProfileSeqDesc::CIccTagProfileSeqDesc ( )

Name: CIccTagProfileSeqDesc::CIccTagProfileSeqDesc

Purpose: Constructor

9473{
9475}
std::list< CIccProfileDescStruct > CIccProfileSeqDesc
Definition IccTagBasic.h:1513
CIccProfileSeqDesc * m_Descriptions
Definition IccTagBasic.h:1541

References m_Descriptions.

Referenced by CDevLinkWriter::begin().

+ Here is the caller graph for this function:

◆ CIccTagProfileSeqDesc() [2/2]

CIccTagProfileSeqDesc::CIccTagProfileSeqDesc ( const CIccTagProfileSeqDesc ITPSD)

Name: CIccTagProfileSeqDesc::CIccTagProfileSeqDesc

Purpose: Copy Constructor

Args: ITPSD = The CIccTagProfileSeqDesc object to be copied

9489{
9492}

References m_Descriptions.

Referenced by NewCopy().

+ Here is the caller graph for this function:

◆ ~CIccTagProfileSeqDesc()

CIccTagProfileSeqDesc::~CIccTagProfileSeqDesc ( )
virtual

Name: CIccTagProfileSeqDesc::~CIccTagProfileSeqDesc

Purpose: Destructor

9525{
9526 delete m_Descriptions;
9527}

References m_Descriptions.

Member Function Documentation

◆ Create()

CIccTag * CIccTag::Create ( icTagTypeSignature  sig)
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

144{
145 return CIccTagCreator::CreateTag(sig);
146}
static CIccTag * CreateTag(icTagTypeSignature tagTypeSig)
Definition IccTagFactory.h:279

References CIccTagCreator::CreateTag().

Referenced by CIccDefaultEncProfileConverter::ConvertFromParams(), CIccTagStruct::LoadElem(), CIccProfileXml::ParseTag(), CIccTagXmlStruct::ParseTag(), CIccMpeXmlTintArray::ParseXml(), CIccTagXmlArray::ParseXml(), CIccMpeTintArray::Read(), CIccTagLutAtoB::Read(), CIccTagLut8::Read(), CIccTagLut16::Read(), CIccTagLut8::SetColorSpaces(), CIccTagLut16::SetColorSpaces(), and CIccProfileDescText::SetType().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Describe()

void CIccTagProfileSeqDesc::Describe ( std::string &  sDescription,
int  nVerboseness 
)
virtual

Name: CIccTagProfileSeqDesc::Describe

Purpose: Dump data associated with the tag to a string

Args: sDescription - string to concatenate tag dump to

Reimplemented from CIccTag.

9656{
9657 CIccProfileSeqDesc::iterator i;
9658 icChar buf[128], buf2[28];
9659 icUInt32Number count=0;
9660
9661 sprintf(buf, "Number of Profile Description Structures: %u\n", (icUInt32Number)m_Descriptions->size());
9662 sDescription += buf;
9663
9664 for (i=m_Descriptions->begin(); i!=m_Descriptions->end(); i++, count++) {
9665 sDescription += "\n";
9666
9667 sprintf(buf, "Profile Description Structure Number [%u] follows:\n", count+1);
9668 sDescription += buf;
9669
9670 sprintf(buf, "Device Manufacturer Signature: %s\n", icGetSig(buf2, i->m_deviceMfg, false));
9671 sDescription += buf;
9672
9673 sprintf(buf, "Device Model Signature: %s\n", icGetSig(buf2, i->m_deviceModel, false));
9674 sDescription += buf;
9675
9676 sprintf(buf, "Device Attributes: %08x%08x\n", (icUInt32Number)(i->m_attributes >> 32), (icUInt32Number)(i->m_attributes));
9677 sDescription += buf;
9678
9679 sprintf(buf, "Device Technology Signature: %s\n", icGetSig(buf2, i->m_technology, false));
9680 sDescription += buf;
9681
9682 sprintf(buf, "Description of device manufacturer: \n");
9683 sDescription += buf;
9684 i->m_deviceMfgDesc.Describe(sDescription, nVerboseness);
9685
9686 sprintf(buf, "Description of device model: \n");
9687 sDescription += buf;
9688 i->m_deviceModelDesc.Describe(sDescription, nVerboseness);
9689 }
9690}
unsigned long icUInt32Number
Definition icProfileHeader.h:262
char icChar
Definition IccDefs.h:110
ICCPROFLIB_API const icChar * icGetSig(icChar *pBuf, icUInt32Number sig, bool bGetHexVal=true)
Definition IccUtil.cpp:1028

References CIccProfileDescText::Describe(), icGetSig(), CIccProfileDescStruct::m_attributes, m_Descriptions, CIccProfileDescStruct::m_deviceMfg, CIccProfileDescStruct::m_deviceMfgDesc, CIccProfileDescStruct::m_deviceModel, CIccProfileDescStruct::m_deviceModelDesc, and CIccProfileDescStruct::m_technology.

+ Here is the call graph for this function:

◆ DetachIO()

virtual void CIccTag::DetachIO ( )
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.

183{}

◆ GetClassName()

virtual const icChar * CIccTagProfileSeqDesc::GetClassName ( ) const
inlinevirtual

Reimplemented from CIccTag.

Reimplemented in CIccTagXmlProfileSeqDesc.

1533{ return "CIccTagProfileSeqDesc"; }

◆ GetExtension()

virtual IIccExtensionTag * CIccTag::GetExtension ( )
inlinevirtualinherited

Reimplemented in CIccTagXmlUnknown, CIccTagXmlText, CIccTagXmlUtf8Text, CIccTagXmlZipUtf8Text, CIccTagXmlZipXml, CIccTagXmlUtf16Text, CIccTagXmlTextDescription, CIccTagXmlSignature, CIccTagXmlNamedColor2, CIccTagXmlXYZ, CIccTagXmlChromaticity, CIccTagXmlCicp, CIccTagXmlSparseMatrixArray, CIccTagXmlFixedNum< T, Tsig >, CIccTagXmlNum< T, A, Tsig >, CIccTagXmlFloatNum< T, A, Tsig >, CIccTagXmlMeasurement, CIccTagXmlMultiLocalizedUnicode, CIccTagXmlTagData, CIccTagXmlDateTime, CIccTagXmlColorantOrder, CIccTagXmlColorantTable, CIccTagXmlViewingConditions, CIccTagXmlSpectralDataInfo, CIccTagXmlSpectralViewingConditions, CIccTagXmlProfileSeqDesc, CIccTagXmlResponseCurveSet16, CIccTagXmlCurve, CIccTagXmlParametricCurve, CIccTagXmlSegmentedCurve, CIccTagXmlLutAtoB, CIccTagXmlLutBtoA, CIccTagXmlLut8, CIccTagXmlLut16, CIccTagXmlMultiProcessElement, CIccTagXmlProfileSequenceId, CIccTagXmlDict, CIccTagXmlStruct, CIccTagXmlArray, CIccTagXmlGamutBoundaryDesc, CIccTagXmlEmbeddedHeightImage, CIccTagXmlEmbeddedNormalImage, and CIccTagXmlEmbeddedProfile.

143{return NULL;}

Referenced by icCurvesFromXml(), icCurvesToXml(), icProfDescToXml(), icXmlParseProfDesc(), CIccProfileXml::ParseTag(), CIccTagXmlStruct::ParseTag(), CIccMpeXmlTintArray::ParseXml(), CIccTagXmlArray::ParseXml(), CIccMpeXmlTintArray::ToXml(), CIccTagXmlStruct::ToXml(), CIccTagXmlArray::ToXml(), and CIccProfileXml::ToXmlWithBlanks().

+ Here is the caller graph for this function:

◆ GetTagArrayType()

virtual icArraySignature CIccTag::GetTagArrayType ( ) const
inlinevirtualinherited

Reimplemented in CIccTagArray.

133{ return icSigUndefinedArray; }
@ icSigUndefinedArray
Definition icProfileHeader.h:617

References icSigUndefinedArray.

Referenced by icGetTagArrayHandlerOfType(), and CIccProfileXml::ParseTag().

+ Here is the caller graph for this function:

◆ GetTagStructType()

virtual icStructSignature CIccTag::GetTagStructType ( ) const
inlinevirtualinherited

Reimplemented in CIccTagStruct.

132{ return icSigUndefinedStruct; }
@ icSigUndefinedStruct
Definition icProfileHeader.h:606

References icSigUndefinedStruct.

Referenced by icGetTagStructHandlerOfType(), CIccArrayColorantInfo::Validate(), and CIccArrayNamedColor::Validate().

+ Here is the caller graph for this function:

◆ GetType()

virtual icTagTypeSignature CIccTagProfileSeqDesc::GetType ( ) const
inlinevirtual

Function: GetType()

Purpose: Get Tag Type. Each derived tag will implement it's own GetType() function.

Reimplemented from CIccTag.

@ icSigProfileSequenceDescType
Definition icProfileHeader.h:553

References icSigProfileSequenceDescType.

Referenced by Validate(), and Write().

+ Here is the caller graph for this function:

◆ IsArrayType()

virtual bool CIccTag::IsArrayType ( )
inlinevirtualinherited

Reimplemented in CIccTagXYZ, CIccTagChromaticity, CIccTagSparseMatrixArray, CIccTagFixedNum< T, Tsig >, CIccTagNum< T, Tsig >, CIccTagFloatNum< T, Tsig >, and CIccTagData.

135{ return false; }

Referenced by MyTagDialog::MyTagDialog(), and DumpTag().

+ Here is the caller graph for this function:

◆ IsMBBType()

virtual bool CIccTag::IsMBBType ( )
inlinevirtualinherited

Reimplemented in CIccMBB.

136{ return false; } //If true then CIccTag can be cast as an CIccMBB

Referenced by CIccProfileXml::ParseTag().

+ Here is the caller graph for this function:

◆ IsNumArrayType()

virtual bool CIccTag::IsNumArrayType ( ) const
inlinevirtualinherited

Reimplemented in CIccTagSparseMatrixArray, CIccTagFixedNum< T, Tsig >, CIccTagNum< T, Tsig >, and CIccTagFloatNum< T, Tsig >.

137{ return false;} //If true then CIccTag can be cast as a CIccTagNumArray

Referenced by CIccArrayNamedColor::FindDeviceColor(), CIccArrayNamedColor::FindPcsColor(), CIccArrayNamedColor::FindSpectralColor(), CIccTagStruct::GetElemNumberValue(), CIccStructNamedColor::GetNumArray(), CIccMpeXmlTintArray::ParseXml(), and CIccMpeTintArray::Read().

+ Here is the caller graph for this function:

◆ IsSupported()

virtual bool CIccTag::IsSupported ( )
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.

153{ return true; }

◆ NewCopy()

virtual CIccTag * CIccTagProfileSeqDesc::NewCopy ( ) const
inlinevirtual

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.

1529{return new CIccTagProfileSeqDesc(*this);}
CIccTagProfileSeqDesc()
Definition IccTagBasic.cpp:9472

References CIccTagProfileSeqDesc().

+ Here is the call graph for this function:

◆ operator=()

CIccTagProfileSeqDesc & CIccTagProfileSeqDesc::operator= ( const CIccTagProfileSeqDesc ProfSeqDescTag)

Name: CIccTagProfileSeqDesc::operator=

Purpose: Copy Operator

Args: ProfSeqDescTag = The CIccTagProfileSeqDesc object to be copied

9506{
9507 if (&ProfSeqDescTag == this)
9508 return *this;
9509
9510 *m_Descriptions = *ProfSeqDescTag.m_Descriptions;
9511
9512 return *this;
9513}

References m_Descriptions.

◆ Read() [1/2]

bool CIccTagProfileSeqDesc::Read ( icUInt32Number  size,
CIccIO pIO 
)
virtual

Name: CIccTagProfileSeqDesc::Read

Purpose: Read in the tag contents into a data block

Args: size - # of bytes in tag, pIO - IO object to read tag from

Return: true = successful, false = failure

Reimplemented from CIccTag.

9545{
9547 icUInt32Number nCount, nEnd;
9548
9549 nEnd = pIO->Tell() + size;
9550
9551 if (sizeof(icTagTypeSignature) +
9552 sizeof(icUInt32Number)*2 > size)
9553 return false;
9554
9555 if (!pIO) {
9556 return false;
9557 }
9558
9559 if (!pIO->Read32(&sig) ||
9560 !pIO->Read32(&m_nReserved) ||
9561 !pIO->Read32(&nCount))
9562 return false;
9563
9564 if (!nCount)
9565 return true;
9566
9567 if (sizeof(icTagTypeSignature) +
9568 sizeof(icUInt32Number)*2 +
9569 sizeof(CIccProfileDescStruct) > size)
9570 return false;
9571
9572 icUInt32Number i, nPos;
9573 CIccProfileDescStruct ProfileDescStruct;
9574
9575 for (i=0; i<nCount; i++) {
9576
9577 if (!pIO->Read32(&ProfileDescStruct.m_deviceMfg) ||
9578 !pIO->Read32(&ProfileDescStruct.m_deviceModel) ||
9579 !pIO->Read64(&ProfileDescStruct.m_attributes) ||
9580 !pIO->Read32(&ProfileDescStruct.m_technology))
9581 return false;
9582
9583 nPos = pIO->Tell();
9584
9585 if (!ProfileDescStruct.m_deviceMfgDesc.Read(nEnd - nPos, pIO))
9586 return false;
9587
9588 nPos = pIO->Tell();
9589 if (!ProfileDescStruct.m_deviceModelDesc.Read(nEnd - nPos, pIO))
9590 return false;
9591
9592 m_Descriptions->push_back(ProfileDescStruct);
9593 }
9594
9595 return true;
9596}
icTagTypeSignature
Definition icProfileHeader.h:526
virtual icInt32Number Tell()
Definition IccIO.h:133
icInt32Number Read64(void *pBuf64, icInt32Number nNum=1)
Definition IccIO.cpp:173
icInt32Number Read32(void *pBuf32, icInt32Number nNum=1)
Definition IccIO.cpp:143
icUInt32Number m_nReserved
Definition IccTagBasic.h:235
virtual bool Read(icUInt32Number size, CIccIO *pIO)
Definition IccTagBasic.cpp:9331
Definition IccTagBasic.h:1491
CIccProfileDescText m_deviceMfgDesc
Definition IccTagBasic.h:1502
icSignature m_deviceMfg
Definition IccTagBasic.h:1498
icSignature m_deviceModel
Definition IccTagBasic.h:1499
icTechnologySignature m_technology
Definition IccTagBasic.h:1501
CIccProfileDescText m_deviceModelDesc
Definition IccTagBasic.h:1503
icUInt64Number m_attributes
Definition IccTagBasic.h:1500

References CIccProfileDescStruct::m_attributes, m_Descriptions, CIccProfileDescStruct::m_deviceMfg, CIccProfileDescStruct::m_deviceMfgDesc, CIccProfileDescStruct::m_deviceModel, CIccProfileDescStruct::m_deviceModelDesc, CIccTag::m_nReserved, CIccProfileDescStruct::m_technology, CIccProfileDescText::Read(), CIccIO::Read32(), CIccIO::Read64(), and CIccIO::Tell().

+ Here is the call graph for this function:

◆ Read() [2/2]

virtual bool CIccTag::Read ( icUInt32Number  size,
CIccIO pIO,
CIccProfile pProfile 
)
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.

197{ return Read(size, pIO); }
virtual bool Read(icUInt32Number size, CIccIO *pIO)
Definition IccTagBasic.h:167

References CIccTag::Read().

+ Here is the call graph for this function:

◆ ReadAll()

virtual bool CIccTag::ReadAll ( )
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.

175{ return true; }

◆ Validate()

icValidateStatus CIccTagProfileSeqDesc::Validate ( std::string  sigPath,
std::string &  sReport,
const CIccProfile pProfile = NULL 
) const
virtual

Name: CIccTagProfileSeqDesc::Validate

Purpose: Check tag data validity.

Args: sig = signature of tag being validated, sReport = String to add report information to

Return: icValidateStatusOK if valid, or other error status.

Reimplemented from CIccTag.

9708{
9709 icValidateStatus rv = CIccTag::Validate(sigPath, sReport, pProfile);
9710
9711 CIccInfo Info;
9712 char buf[128];
9713 std::string sSigPathName = Info.GetSigPathName(sigPath);
9714
9715 CIccProfileSeqDesc::iterator i;
9716 for (i=m_Descriptions->begin(); i!=m_Descriptions->end(); i++) {
9717 switch(i->m_technology) {
9718 case 0x00000000: //Technology not defined
9719 case icSigFilmScanner:
9720 case icSigDigitalCamera:
9722 case icSigInkJetPrinter:
9728 case icSigFilmWriter:
9729 case icSigVideoMonitor:
9730 case icSigVideoCamera:
9732 case icSigCRTDisplay:
9733 case icSigPMDisplay:
9734 case icSigAMDisplay:
9735 case icSigPhotoCD:
9737 case icSigGravure:
9739 case icSigSilkscreen:
9740 case icSigFlexography:
9741 break;
9742
9743 default:
9744 {
9745 sReport += icMsgValidateNonCompliant;
9746 sReport += sSigPathName;
9747 sprintf(buf, " - %s: Unknown Technology.\n", Info.GetSigName(i->m_technology));
9748 sReport += buf;
9750 }
9751 }
9752
9753 if (i->m_deviceMfgDesc.m_bNeedsPading) {
9754 sReport += icMsgValidateNonCompliant;
9755 sReport += sSigPathName;
9756
9757 sReport += " Contains non-aligned deviceMfgDesc text tag information\n";
9758
9760 }
9761
9762 if (i->m_deviceModelDesc.m_bNeedsPading) {
9763 sReport += icMsgValidateNonCompliant;
9764 sReport += sSigPathName;
9765
9766 sReport += " Contains non-aligned deviceModelDesc text tag information\n";
9767
9769 }
9770
9771 rv = icMaxStatus(rv, i->m_deviceMfgDesc.GetTag()->Validate(sigPath+icGetSigPath(GetType()), sReport, pProfile));
9772 rv = icMaxStatus(rv, i->m_deviceModelDesc.GetTag()->Validate(sigPath+icGetSigPath(GetType()), sReport, pProfile));
9773 }
9774
9775 return rv;
9776}
@ icSigFilmWriter
Definition icProfileHeader.h:501
@ icSigCRTDisplay
Definition icProfileHeader.h:505
@ icSigOffsetLithography
Definition icProfileHeader.h:511
@ icSigFlexography
Definition icProfileHeader.h:513
@ icSigSilkscreen
Definition icProfileHeader.h:512
@ icSigPhotographicPaperPrinter
Definition icProfileHeader.h:500
@ icSigVideoMonitor
Definition icProfileHeader.h:502
@ icSigElectrostaticPrinter
Definition icProfileHeader.h:498
@ icSigPMDisplay
Definition icProfileHeader.h:506
@ icSigGravure
Definition icProfileHeader.h:510
@ icSigInkJetPrinter
Definition icProfileHeader.h:495
@ icSigReflectiveScanner
Definition icProfileHeader.h:494
@ icSigDigitalCamera
Definition icProfileHeader.h:492
@ icSigVideoCamera
Definition icProfileHeader.h:503
@ icSigDyeSublimationPrinter
Definition icProfileHeader.h:499
@ icSigThermalWaxPrinter
Definition icProfileHeader.h:496
@ icSigFilmScanner
Definition icProfileHeader.h:493
@ icSigPhotoCD
Definition icProfileHeader.h:508
@ icSigPhotoImageSetter
Definition icProfileHeader.h:509
@ icSigElectrophotographicPrinter
Definition icProfileHeader.h:497
@ icSigProjectionTelevision
Definition icProfileHeader.h:504
@ icSigAMDisplay
Definition icProfileHeader.h:507
icValidateStatus
Definition IccDefs.h:119
@ icValidateNonCompliant
Definition IccDefs.h:122
ICCPROFLIB_API std::string icGetSigPath(icUInt32Number sig)
Definition IccUtil.cpp:1191
ICCPROFLIB_API icValidateStatus icMaxStatus(icValidateStatus s1, icValidateStatus s2)
Definition IccUtil.cpp:244
ICCPROFLIB_API const char * icMsgValidateNonCompliant
Definition IccUtil.cpp:91
Definition IccUtil.h:303
const icChar * GetSigName(icUInt32Number val)
Definition IccUtil.cpp:2000
std::string GetSigPathName(std::string sigPath)
Definition IccUtil.cpp:1614
virtual icValidateStatus Validate(std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const
Definition IccTagBasic.cpp:164
virtual icTagTypeSignature GetType() const
Definition IccTagBasic.h:1532

References CIccInfo::GetSigName(), CIccInfo::GetSigPathName(), CIccProfileDescText::GetTag(), GetType(), icGetSigPath(), icMaxStatus(), icMsgValidateNonCompliant, icSigAMDisplay, icSigCRTDisplay, icSigDigitalCamera, icSigDyeSublimationPrinter, icSigElectrophotographicPrinter, icSigElectrostaticPrinter, icSigFilmScanner, icSigFilmWriter, icSigFlexography, icSigGravure, icSigInkJetPrinter, icSigOffsetLithography, icSigPhotoCD, icSigPhotographicPaperPrinter, icSigPhotoImageSetter, icSigPMDisplay, icSigProjectionTelevision, icSigReflectiveScanner, icSigSilkscreen, icSigThermalWaxPrinter, icSigVideoCamera, icSigVideoMonitor, icValidateNonCompliant, CIccProfileDescText::m_bNeedsPading, m_Descriptions, CIccProfileDescStruct::m_deviceMfgDesc, CIccProfileDescStruct::m_deviceModelDesc, CIccProfileDescStruct::m_technology, and CIccTag::Validate().

+ Here is the call graph for this function:

◆ Write()

bool CIccTagProfileSeqDesc::Write ( CIccIO pIO)
virtual

Name: CIccTagProfileSeqDesc::Write

Purpose: Write the tag to a file

Args: pIO - The IO object to write tag to.

Return: true = succesful, false = failure

Reimplemented from CIccTag.

9613{
9616
9617 if (!pIO) {
9618 return false;
9619 }
9620
9621 if (!pIO->Write32(&sig) ||
9622 !pIO->Write32(&m_nReserved) ||
9623 !pIO->Write32(&nCount))
9624 return false;
9625
9626 CIccProfileSeqDesc::iterator i;
9627
9628 for (i=m_Descriptions->begin(); i!=m_Descriptions->end(); i++) {
9629
9630 if (!pIO->Write32(&i->m_deviceMfg) ||
9631 !pIO->Write32(&i->m_deviceModel) ||
9632 !pIO->Write64(&i->m_attributes) ||
9633 !pIO->Write32(&i->m_technology))
9634 return false;
9635
9636 if (!i->m_deviceMfgDesc.Write(pIO) ||
9637 !i->m_deviceModelDesc.Write(pIO))
9638 return false;
9639 }
9640
9641 return true;
9642}
icInt32Number Write32(void *pBuf32, icInt32Number nNum=1)
Definition IccIO.cpp:152
icInt32Number Write64(void *pBuf64, icInt32Number nNum=1)
Definition IccIO.cpp:182

References GetType(), CIccProfileDescStruct::m_attributes, m_Descriptions, CIccProfileDescStruct::m_deviceMfg, CIccProfileDescStruct::m_deviceMfgDesc, CIccProfileDescStruct::m_deviceModel, CIccProfileDescStruct::m_deviceModelDesc, CIccTag::m_nReserved, CIccProfileDescStruct::m_technology, CIccProfileDescText::Write(), CIccIO::Write32(), and CIccIO::Write64().

+ Here is the call graph for this function:

Field Documentation

◆ m_Descriptions

◆ m_nReserved

icUInt32Number CIccTag::m_nReserved
inherited

Referenced by CIccTag::CIccTag(), CIccTagMultiProcessElement::CIccTagMultiProcessElement(), CIccTagMultiProcessElement::CIccTagMultiProcessElement(), CIccTagMultiProcessElement::operator=(), CIccProfileXml::ParseTag(), CIccTagXmlStruct::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(), 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(), 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().


The documentation for this class was generated from the following files: