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

#include <IccTagBasic.h>

+ Inheritance diagram for CIccTagChromaticity:
+ Collaboration diagram for CIccTagChromaticity:

Public Member Functions

 CIccTagChromaticity (const CIccTagChromaticity &ITCh)
 
 CIccTagChromaticity (int nSize=3)
 
virtual ~CIccTagChromaticity ()
 
virtual void Describe (std::string &sDescription, int nVerboseness)
 
virtual void DetachIO ()
 
virtual const icCharGetClassName () const
 
virtual IIccExtensionTagGetExtension ()
 
icUInt32Number GetSize () const
 
virtual icArraySignature GetTagArrayType () const
 
virtual icStructSignature GetTagStructType () const
 
virtual icTagTypeSignature GetType () const
 
icChromaticityNumberGetxy (icUInt32Number index)
 
virtual bool IsArrayType ()
 
virtual bool IsMBBType ()
 
virtual bool IsNumArrayType () const
 
virtual bool IsSupported ()
 
virtual CIccTagNewCopy () const
 
CIccTagChromaticityoperator= (const CIccTagChromaticity &ChromTag)
 
icChromaticityNumberoperator[] (icUInt32Number index)
 
virtual bool Read (icUInt32Number size, CIccIO *pIO)
 
virtual bool Read (icUInt32Number size, CIccIO *pIO, CIccProfile *pProfile)
 
virtual bool ReadAll ()
 
bool SetSize (icUInt16Number nSize, bool bZeroNew=true)
 
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

icUInt16Number m_nColorantType
 
icUInt32Number m_nReserved
 

Protected Attributes

icUInt16Number m_nChannels
 
icChromaticityNumberm_xy
 

Detailed Description

Class: CIccTagChromaticity

Purpose: the chromaticity tag - xy chromaticity values for each channel

Constructor & Destructor Documentation

◆ CIccTagChromaticity() [1/2]

CIccTagChromaticity::CIccTagChromaticity ( int  nSize = 3)

Name: CIccTagChromaticity::CIccTagChromaticity

Purpose: Constructor

Args: nSize = number of xy entries

3770{
3771 m_nChannels = nSize;
3772 if (m_nChannels <3)
3773 m_nChannels = 3;
3774 m_xy = (icChromaticityNumber*)calloc(nSize, sizeof(icChromaticityNumber));
3775}
Definition icProfileHeader.h:1447
icUInt16Number m_nChannels
Definition IccTagBasic.h:733
icChromaticityNumber * m_xy
Definition IccTagBasic.h:734

References m_nChannels, and m_xy.

◆ CIccTagChromaticity() [2/2]

CIccTagChromaticity::CIccTagChromaticity ( const CIccTagChromaticity ITCh)

Name: CIccTagChromaticity::CIccTagChromaticity

Purpose: Copy Constructor

Args: ITCh = The CIccTagChromaticity object to be copied

3789{
3790 m_nChannels = ITCh.m_nChannels;
3791
3793 memcpy(m_xy, ITCh.m_xy, sizeof(icChromaticityNumber)*m_nChannels);
3794}

References m_nChannels, and m_xy.

Referenced by NewCopy().

+ Here is the caller graph for this function:

◆ ~CIccTagChromaticity()

CIccTagChromaticity::~CIccTagChromaticity ( )
virtual

Name: CIccTagChromaticity::~CIccTagChromaticity

Purpose: Destructor

3832{
3833 if (m_xy)
3834 free(m_xy);
3835}

References m_xy.

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 CIccTagChromaticity::Describe ( std::string &  sDescription,
int  nVerboseness 
)
virtual

Name: CIccTagChromaticity::Describe

Purpose: Dump data associated with the tag to a string

Args: sDescription - string to concatenate tag dump to

Reimplemented from CIccTag.

3949{
3950 icChar buf[128];
3951 CIccInfo Fmt;
3952
3954 //sDescription.reserve(sDescription.size() + m_nChannels*79);
3955 sprintf(buf, "Number of Channels : %u\n", m_nChannels);
3956 sDescription += buf;
3957
3958 sprintf(buf, "Colorant Encoding : %s\n", Fmt.GetColorantEncoding((icColorantEncoding)m_nColorantType));
3959 sDescription += buf;
3960
3961 for (i=0; i<m_nChannels; i++) {
3962 sprintf(buf, "value[%u]: x=%.3lf, y=%.3lf\n", i, icUFtoD(m_xy[i].x), icUFtoD(m_xy[i].y));
3963 sDescription += buf;
3964 }
3965
3966}
icColorantEncoding
Definition icProfileHeader.h:1295
unsigned long icUInt32Number
Definition icProfileHeader.h:262
char icChar
Definition IccDefs.h:110
ICCPROFLIB_API icFloatNumber icUFtoD(icU16Fixed16Number num)
Definition IccUtil.cpp:580
Definition IccUtil.h:303
const icChar * GetColorantEncoding(icColorantEncoding colorant)
Definition IccUtil.cpp:2317
icUInt16Number m_nColorantType
Definition IccTagBasic.h:728

References CIccInfo::GetColorantEncoding(), icUFtoD(), m_nChannels, m_nColorantType, m_xy, icChromaticityNumber::x, and icChromaticityNumber::y.

+ 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 * CIccTagChromaticity::GetClassName ( ) const
inlinevirtual

Reimplemented from CIccTag.

Reimplemented in CIccTagXmlChromaticity.

716{ return "CIccTagChromaticity"; }

◆ 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:

◆ GetSize()

icUInt32Number CIccTagChromaticity::GetSize ( ) const
inline
725{ return m_nChannels; }

References m_nChannels.

◆ 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 CIccTagChromaticity::GetType ( ) const
inlinevirtual

Function: GetType()

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

Reimplemented from CIccTag.

715{ return icSigChromaticityType; }
@ icSigChromaticityType
Definition icProfileHeader.h:528

References icSigChromaticityType.

Referenced by Write().

+ Here is the caller graph for this function:

◆ Getxy()

icChromaticityNumber * CIccTagChromaticity::Getxy ( icUInt32Number  index)
inline
724{return &m_xy[index];}

References m_xy.

◆ IsArrayType()

virtual bool CIccTagChromaticity::IsArrayType ( )
inlinevirtual

Reimplemented from CIccTag.

713{ return m_nChannels > 1; }

References m_nChannels.

◆ 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 * CIccTagChromaticity::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.

710{return new CIccTagChromaticity(*this);}
Definition IccTagBasic.h:705

References CIccTagChromaticity().

+ Here is the call graph for this function:

◆ operator=()

CIccTagChromaticity & CIccTagChromaticity::operator= ( const CIccTagChromaticity ChromTag)

Name: CIccTagChromaticity::operator=

Purpose: Copy Operator

Args: ChromTag = The CIccTagChromaticity object to be copied

3808{
3809 if (&ChromTag == this)
3810 return *this;
3811
3812 m_nChannels = ChromTag.m_nChannels;
3813
3814 if (m_xy)
3815 free(m_xy);
3817 memcpy(m_xy, ChromTag.m_xy, sizeof(icChromaticityNumber)*m_nChannels);
3818
3819 return *this;
3820}

References m_nChannels, and m_xy.

◆ operator[]()

icChromaticityNumber & CIccTagChromaticity::operator[] ( icUInt32Number  index)
inline
723{return m_xy[index];}

References m_xy.

◆ Read() [1/2]

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

Name: CIccTagChromaticity::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.

3853{
3855 icUInt16Number nChannels;
3856
3857 if (sizeof(icTagTypeSignature) +
3858 sizeof(icUInt32Number) +
3859 sizeof(icUInt32Number) +
3860 sizeof(icChromaticityNumber) > size)
3861 return false;
3862
3863 if (!pIO) {
3864 return false;
3865 }
3866
3867 if (!pIO->Read32(&sig))
3868 return false;
3869
3870 if (!pIO->Read32(&m_nReserved))
3871 return false;
3872
3873 if (!pIO->Read16(&nChannels) ||
3874 !pIO->Read16(&m_nColorantType))
3875 return false;
3876
3877 icUInt32Number nNum = (size-3*sizeof(icUInt32Number)) / sizeof(icChromaticityNumber);
3878 icUInt32Number nNum32 = (nNum*sizeof(icChromaticityNumber)) / sizeof(icU16Fixed16Number);
3879
3880 if (nNum < nChannels)
3881 return false;
3882
3883 // SetSize casts from icUInt32Number down to icUInt16Number. Check for overflow
3884 if (nNum > (icUInt16Number)nNum)
3885 return false;
3886
3887 if (!SetSize((icUInt16Number)nNum))
3888 return false;
3889
3890 if (pIO->Read32(&m_xy[0], nNum32) != (icInt32Number)nNum32 )
3891 return false;
3892
3893 return true;
3894}
unsigned short icUInt16Number
Definition icProfileHeader.h:256
icUInt32Number icU16Fixed16Number
Definition icProfileHeader.h:303
long icInt32Number
Definition icProfileHeader.h:291
icTagTypeSignature
Definition icProfileHeader.h:526
icInt32Number Read16(void *pBuf16, icInt32Number nNum=1)
Definition IccIO.cpp:114
icInt32Number Read32(void *pBuf32, icInt32Number nNum=1)
Definition IccIO.cpp:143
icUInt32Number m_nReserved
Definition IccTagBasic.h:235
bool SetSize(icUInt16Number nSize, bool bZeroNew=true)
Definition IccTagBasic.cpp:3979

References m_nColorantType, CIccTag::m_nReserved, m_xy, CIccIO::Read16(), CIccIO::Read32(), and SetSize().

+ 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; }

◆ SetSize()

bool CIccTagChromaticity::SetSize ( icUInt16Number  nSize,
bool  bZeroNew = true 
)

Name: CIccTagChromaticity::SetSize

Purpose: Sets the size of the xy chromaticity array.

Args: nSize - number of xy entries, bZeroNew - flag to zero newly formed values

3980{
3981 if (m_nChannels == nSize)
3982 return true;
3983
3985
3986 if (!m_xy) {
3987 m_nChannels = 0;
3988 return false;
3989 }
3990
3991 if (bZeroNew && nSize > m_nChannels) {
3992 memset(&m_xy[m_nChannels], 0, (nSize - m_nChannels)*sizeof(icChromaticityNumber));
3993 }
3994
3995 m_nChannels = nSize;
3996 return true;
3997}
ICCPROFLIB_API void * icRealloc(void *ptr, size_t size)
Definition IccUtil.cpp:111

References icRealloc(), m_nChannels, and m_xy.

Referenced by CIccTagXmlChromaticity::ParseXml(), and Read().

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

◆ Validate()

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

Name: CIccTagChromaticity::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.

4015{
4016 icValidateStatus rv = CIccTag::Validate(sigPath, sReport, pProfile);
4017
4018 CIccInfo Info;
4019 std::string sSigPathName = Info.GetSigPathName(sigPath);
4020
4021 if (m_nColorantType) {
4022
4023 if (m_nChannels!=3) {
4024 sReport += icMsgValidateCriticalError;
4025 sReport += sSigPathName;
4026 sReport += " - Number of device channels must be three.\n";
4028 }
4029
4030 switch(m_nColorantType) {
4031 case icColorantITU:
4032 {
4033 if ( (m_xy[0].x != icDtoUF((icFloatNumber)0.640)) || (m_xy[0].y != icDtoUF((icFloatNumber)0.330)) ||
4034 (m_xy[1].x != icDtoUF((icFloatNumber)0.300)) || (m_xy[1].y != icDtoUF((icFloatNumber)0.600)) ||
4035 (m_xy[2].x != icDtoUF((icFloatNumber)0.150)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.060)) ) {
4036 sReport += icMsgValidateNonCompliant;
4037 sReport += sSigPathName;
4038 sReport += " - Chromaticity data does not match specification.\n";
4040 }
4041 break;
4042 }
4043
4044 case icColorantSMPTE:
4045 {
4046 if ( (m_xy[0].x != icDtoUF((icFloatNumber)0.630)) || (m_xy[0].y != icDtoUF((icFloatNumber)0.340)) ||
4047 (m_xy[1].x != icDtoUF((icFloatNumber)0.310)) || (m_xy[1].y != icDtoUF((icFloatNumber)0.595)) ||
4048 (m_xy[2].x != icDtoUF((icFloatNumber)0.155)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.070)) ) {
4049 sReport += icMsgValidateNonCompliant;
4050 sReport += sSigPathName;
4051 sReport += " - Chromaticity data does not match specification.\n";
4053 }
4054 break;
4055 }
4056
4057 case icColorantEBU:
4058 {
4059 if ( (m_xy[0].x != icDtoUF((icFloatNumber)0.64)) || (m_xy[0].y != icDtoUF((icFloatNumber)0.33)) ||
4060 (m_xy[1].x != icDtoUF((icFloatNumber)0.29)) || (m_xy[1].y != icDtoUF((icFloatNumber)0.60)) ||
4061 (m_xy[2].x != icDtoUF((icFloatNumber)0.15)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.06)) ) {
4062 sReport += icMsgValidateNonCompliant;
4063 sReport += sSigPathName;
4064 sReport += " - Chromaticity data does not match specification.\n";
4066 }
4067 break;
4068 }
4069
4070 case icColorantP22:
4071 {
4072 if ( (m_xy[0].x != icDtoUF((icFloatNumber)0.625)) || (m_xy[0].y != icDtoUF((icFloatNumber)0.340)) ||
4073 (m_xy[1].x != icDtoUF((icFloatNumber)0.280)) || (m_xy[1].y != icDtoUF((icFloatNumber)0.605)) ||
4074 (m_xy[2].x != icDtoUF((icFloatNumber)0.155)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.070)) ) {
4075 sReport += icMsgValidateNonCompliant;
4076 sReport += sSigPathName;
4077 sReport += " - Chromaticity data does not match specification.\n";
4079 }
4080 break;
4081 }
4082
4083 default:
4084 {
4085 sReport += icMsgValidateNonCompliant;
4086 sReport += sSigPathName;
4087 sReport += " - Invalid colorant type encoding.\n";
4089 }
4090 }
4091 }
4092
4093 return rv;
4094}
@ icColorantEBU
Definition icProfileHeader.h:1299
@ icColorantITU
Definition icProfileHeader.h:1297
@ icColorantSMPTE
Definition icProfileHeader.h:1298
@ icColorantP22
Definition icProfileHeader.h:1300
float icFloatNumber
Definition IccDefs.h:101
icValidateStatus
Definition IccDefs.h:119
@ icValidateCriticalError
Definition IccDefs.h:123
@ icValidateNonCompliant
Definition IccDefs.h:122
ICCPROFLIB_API const char * icMsgValidateCriticalError
Definition IccUtil.cpp:92
ICCPROFLIB_API icU16Fixed16Number icDtoUF(icFloatNumber num)
Definition IccUtil.cpp:566
ICCPROFLIB_API icValidateStatus icMaxStatus(icValidateStatus s1, icValidateStatus s2)
Definition IccUtil.cpp:244
ICCPROFLIB_API const char * icMsgValidateNonCompliant
Definition IccUtil.cpp:91
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

References CIccInfo::GetSigPathName(), icColorantEBU, icColorantITU, icColorantP22, icColorantSMPTE, icDtoUF(), icMaxStatus(), icMsgValidateCriticalError, icMsgValidateNonCompliant, icValidateCriticalError, icValidateNonCompliant, m_nChannels, m_nColorantType, m_xy, CIccTag::Validate(), icChromaticityNumber::x, and icChromaticityNumber::y.

+ Here is the call graph for this function:

◆ Write()

bool CIccTagChromaticity::Write ( CIccIO pIO)
virtual

Name: CIccTagChromaticity::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.

3911{
3913
3914 if (!pIO)
3915 return false;
3916
3917 if (!pIO->Write32(&sig))
3918 return false;
3919
3920 if (!pIO->Write32(&m_nReserved))
3921 return false;
3922
3923 if (!pIO->Write16(&m_nChannels))
3924 return false;
3925
3926 if (!pIO->Write16(&m_nColorantType))
3927 return false;
3928
3930
3931 if (pIO->Write32(&m_xy[0], nNum32) != (icInt32Number)nNum32)
3932 return false;
3933
3934 return true;
3935}
icInt32Number Write16(void *pBuf16, icInt32Number nNum=1)
Definition IccIO.cpp:122
icInt32Number Write32(void *pBuf32, icInt32Number nNum=1)
Definition IccIO.cpp:152
virtual icTagTypeSignature GetType() const
Definition IccTagBasic.h:715

References GetType(), m_nChannels, m_nColorantType, CIccTag::m_nReserved, m_xy, CIccIO::Write16(), and CIccIO::Write32().

+ Here is the call graph for this function:

Field Documentation

◆ m_nChannels

◆ m_nColorantType

◆ 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(), 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(), 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().

◆ m_xy


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