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

#include <IccTagXml.h>

+ Inheritance diagram for CIccTagXmlEmbeddedNormalImage:
+ Collaboration diagram for CIccTagXmlEmbeddedNormalImage:

Public Member Functions

virtual ~CIccTagXmlEmbeddedNormalImage ()
 
virtual void Describe (std::string &sDescription, int nVerboseness)
 
virtual void DetachIO ()
 
virtual const icCharGetClassName () const
 
icUInt8NumberGetData (icUInt32Number index=0)
 
virtual IIccExtensionTagGetExtension ()
 
virtual const char * GetGlassName () const
 
icUInt32Number GetSize () const
 
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
 
icUInt8Numberoperator[] (icUInt32Number index)
 
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 ()
 
bool SetSize (icUInt32Number nSize, bool bZeroNew=true)
 
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 CIccTagCreate (icTagTypeSignature sig)
 

Data Fields

icImageEncodingType m_nEncodingFormat
 
icUInt32Number m_nReserved
 
icUInt32Number m_nSeamlesIndicator
 

Protected Attributes

icUInt32Number m_nSize
 
icUInt8Numberm_pData
 

Private Member Functions

virtual const char * GetExtClassName () const
 
virtual const char * GetExtDerivedClassName () const
 

Detailed Description

Constructor & Destructor Documentation

◆ ~CIccTagXmlEmbeddedNormalImage()

virtual CIccTagXmlEmbeddedNormalImage::~CIccTagXmlEmbeddedNormalImage ( )
inlinevirtual
701{}

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

Name: CIccTagEmbeddedNormalImage::Describe

Purpose: Dump data associated with the tag to a string

Args: sDescription - string to concatenate tag dump to

Reimplemented from CIccTag.

12202{
12203 icChar buf[128];
12204
12205 sprintf(buf, "\nSeamlessIndicater: %d\n", m_nSeamlesIndicator);
12206 sDescription += buf;
12207
12208 switch (m_nEncodingFormat) {
12209 case icPngImageType:
12210 strcpy(buf, "EncodingFormat: PNG\n");
12211 break;
12212 case icTiffImageType:
12213 strcpy(buf, "EncodingFormat: TIFF\n");
12214 break;
12215 default:
12216 sprintf(buf, "EncodingFormat: %d", m_nEncodingFormat);
12217 break;
12218 }
12219 sDescription += buf;
12220
12221 sDescription += "\nImage Data:\n";
12222
12223 for (int i = 0; i < (int)m_nSize; i++) {
12224 if (!(i & 0x1f))
12225 sDescription += "\n";
12226 sprintf(buf, "%02X", m_pData[i]);
12227 sDescription += buf;
12228 }
12229 sDescription += "\n";
12230}
@ icPngImageType
Definition icProfileHeader.h:1354
@ icTiffImageType
Definition icProfileHeader.h:1355
char icChar
Definition IccDefs.h:110
icImageEncodingType m_nEncodingFormat
Definition IccTagBasic.h:1818
icUInt8Number * m_pData
Definition IccTagBasic.h:1821
icUInt32Number m_nSeamlesIndicator
Definition IccTagBasic.h:1817
icUInt32Number m_nSize
Definition IccTagBasic.h:1822

References icPngImageType, icTiffImageType, CIccTagEmbeddedNormalImage::m_nEncodingFormat, CIccTagEmbeddedNormalImage::m_nSeamlesIndicator, CIccTagEmbeddedNormalImage::m_nSize, and CIccTagEmbeddedNormalImage::m_pData.

◆ 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 * CIccTagEmbeddedNormalImage::GetClassName ( ) const
inlinevirtualinherited

Reimplemented from CIccTag.

1803{ return "CIccTagEmbeddedNormalImage"; }

◆ GetData()

icUInt8Number * CIccTagEmbeddedNormalImage::GetData ( icUInt32Number  index = 0)
inlineinherited
1813{ return &m_pData[index]; }

References CIccTagEmbeddedNormalImage::m_pData.

Referenced by ParseXml().

+ Here is the caller graph for this function:

◆ GetExtClassName()

virtual const char * CIccTagXml::GetExtClassName ( ) const
inlinevirtualinherited

Implements IIccExtensionTag.

79{ return "CIccTagXml"; }

Referenced by icProfDescToXml(), and icXmlParseProfDesc().

+ Here is the caller graph for this function:

◆ GetExtDerivedClassName()

virtual const char * CIccTagXml::GetExtDerivedClassName ( ) const
inlinevirtualinherited

Implements IIccExtensionTag.

Reimplemented in CIccCurveXml.

80{ return ""; }

◆ GetExtension()

virtual IIccExtensionTag * CIccTagXmlEmbeddedNormalImage::GetExtension ( )
inlinevirtual

Reimplemented from CIccTag.

705{ return this; }

◆ GetGlassName()

virtual const char * CIccTagXmlEmbeddedNormalImage::GetGlassName ( ) const
inlinevirtual
703{ return "CIccTagXmlEmbeddedNormalImage"; }

◆ GetSize()

icUInt32Number CIccTagEmbeddedNormalImage::GetSize ( ) const
inlineinherited
1810{ return m_nSize; }

References CIccTagEmbeddedNormalImage::m_nSize.

◆ 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 CIccTagEmbeddedNormalImage::GetType ( ) const
inlinevirtualinherited

Function: GetType()

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

Reimplemented from CIccTag.

@ icSigEmbeddedNormalImageType
Definition icProfileHeader.h:539

References icSigEmbeddedNormalImageType.

Referenced by CIccTagEmbeddedNormalImage::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 * CIccTagEmbeddedNormalImage::NewCopy ( ) const
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.

1799{ return new CIccTagEmbeddedNormalImage(*this); }
Definition IccTagBasic.h:1794

References CIccTagEmbeddedNormalImage::CIccTagEmbeddedNormalImage().

+ Here is the call graph for this function:

◆ operator[]()

icUInt8Number & CIccTagEmbeddedNormalImage::operator[] ( icUInt32Number  index)
inlineinherited
1812{ return m_pData[index]; }

References CIccTagEmbeddedNormalImage::m_pData.

◆ ParseXml()

bool CIccTagXmlEmbeddedNormalImage::ParseXml ( xmlNode *  pNode,
std::string &  parseStr 
)
virtual

Implements CIccTagXml.

5196{
5197 // parse tag
5198 xmlNode *tagNode;
5199
5200 tagNode = icXmlFindNode(pNode, "NormalImage");
5201 if (!tagNode)
5202 return false;
5203
5204 m_nSeamlesIndicator = atoi(icXmlAttrValue(tagNode, "SeamlessIndicator", "0"));
5205 m_nEncodingFormat = (icImageEncodingType)atoi(icXmlAttrValue(tagNode, "EncodingFormat", "0"));
5206
5207 xmlNode *pImageNode;
5208 pImageNode = icXmlFindNode(tagNode->children, "Image");
5209
5210 if (pImageNode) {
5211 const char *filename = icXmlAttrValue(pImageNode, "File");
5212 if (!filename || !filename[0]) {
5213 filename = icXmlAttrValue(pImageNode, "Filename");
5214 }
5215
5216 // file exists
5217 if (filename[0]) {
5218 CIccIO *file = IccOpenFileIO(filename, "rb");
5219 if (!file) {
5220 parseStr += "Error! - File '";
5221 parseStr += filename;
5222 parseStr += "' not found.\n";
5223 delete file;
5224 return false;
5225 }
5226
5227 icUInt32Number num = file->GetLength();
5228
5229 SetSize(num);
5230 icUInt8Number *dst = GetData(0);
5231 if (file->Read8(dst, num) != num) {
5232 perror("Read-File Error");
5233 parseStr += "'";
5234 parseStr += filename;
5235 parseStr += "' may not be a valid binary file'.\n";
5236 delete file;
5237 return false;
5238 }
5239 delete file;
5240 return true;
5241 }
5242 // no file
5243 else if (pImageNode->children && pImageNode->children->content) {
5244 unsigned long nSize = icXmlGetHexDataSize((const icChar*)pImageNode->children->content);
5245
5246 SetSize(nSize);
5247 if (m_pData) {
5248 if (icXmlGetHexData(m_pData, (const icChar*)pImageNode->children->content, m_nSize) != m_nSize)
5249 return false;
5250 }
5251 return true;
5252 }
5253 }
5254 return false;
5255}
unsigned char icUInt8Number
Definition icProfileHeader.h:250
unsigned long icUInt32Number
Definition icProfileHeader.h:262
icImageEncodingType
Definition icProfileHeader.h:1353
icUInt32Number icXmlGetHexDataSize(const char *szText)
Definition IccUtilXml.cpp:630
xmlNode * icXmlFindNode(xmlNode *pNode, const char *szNodeName)
Definition IccUtilXml.cpp:687
icUInt32Number icXmlGetHexData(void *pBuf, const char *szText, icUInt32Number nBufSize)
Definition IccUtilXml.cpp:609
const char * icXmlAttrValue(xmlAttr *attr, const char *szDefault="")
Definition IccUtilXml.cpp:572
CIccIO * IccOpenFileIO(const icChar *szFilename, const char *szAttr)
Definition IccIoXml.cpp:100
Definition IccIO.h:97
virtual icInt32Number GetLength()
Definition IccIO.h:130
virtual icInt32Number Read8(void *pBuf8, icInt32Number nNum=1)
Definition IccIO.h:104
icUInt8Number * GetData(icUInt32Number index=0)
Definition IccTagBasic.h:1813
bool SetSize(icUInt32Number nSize, bool bZeroNew=true)
Definition IccTagBasic.cpp:12243

References CIccTagEmbeddedNormalImage::GetData(), CIccIO::GetLength(), IccOpenFileIO(), icXmlAttrValue(), icXmlFindNode(), icXmlGetHexData(), icXmlGetHexDataSize(), CIccTagEmbeddedNormalImage::m_nEncodingFormat, CIccTagEmbeddedNormalImage::m_nSeamlesIndicator, CIccTagEmbeddedNormalImage::m_nSize, CIccTagEmbeddedNormalImage::m_pData, CIccIO::Read8(), and CIccTagEmbeddedNormalImage::SetSize().

+ Here is the call graph for this function:

◆ Read() [1/2]

bool CIccTagEmbeddedNormalImage::Read ( icUInt32Number  size,
CIccIO pIO 
)
virtualinherited

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

12114{
12116
12117 if (sizeof(icTagTypeSignature) +
12118 sizeof(icUInt32Number) +
12119 sizeof(icUInt32Number) +
12120 sizeof(icUInt32Number) +
12121 sizeof(icUInt8Number) > size)
12122 return false;
12123
12124 if (!pIO) {
12125 return false;
12126 }
12127
12128 if (!pIO->Read32(&sig))
12129 return false;
12130
12131 if (!pIO->Read32(&m_nReserved))
12132 return false;
12133
12134 if (!pIO->Read32(&m_nSeamlesIndicator))
12135 return false;
12136
12137 if (!pIO->Read32(&m_nEncodingFormat))
12138 return false;
12139
12140 icUInt32Number nNum = size - 4 * sizeof(icUInt32Number);
12141
12142 if (!SetSize(nNum))
12143 return false;
12144
12145 if (pIO->Read8(m_pData, nNum) != (icInt32Number)nNum)
12146 return false;
12147
12148 return true;
12149}
long icInt32Number
Definition icProfileHeader.h:291
icTagTypeSignature
Definition icProfileHeader.h:526
icInt32Number Read32(void *pBuf32, icInt32Number nNum=1)
Definition IccIO.cpp:143
icUInt32Number m_nReserved
Definition IccTagBasic.h:235

References CIccTagEmbeddedNormalImage::m_nEncodingFormat, CIccTag::m_nReserved, CIccTagEmbeddedNormalImage::m_nSeamlesIndicator, CIccTagEmbeddedNormalImage::m_pData, CIccIO::Read32(), CIccIO::Read8(), and CIccTagEmbeddedNormalImage::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 CIccTagEmbeddedNormalImage::SetSize ( icUInt32Number  nSize,
bool  bZeroNew = true 
)
inherited

Name: CIccTagEmbeddedNormalImage::SetSize

Purpose: Sets the size of the data array.

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

12244{
12245 if (m_nSize == nSize)
12246 return true;
12247
12248 m_pData = (icUInt8Number*)icRealloc(m_pData, nSize * sizeof(icUInt8Number));
12249
12250 if (!m_pData) {
12251 m_nSize = 0;
12252 return false;
12253 }
12254
12255 if (bZeroNew && nSize > m_nSize) {
12256 memset(&m_pData[m_nSize], 0, (nSize - m_nSize) * sizeof(icUInt8Number));
12257 }
12258 m_nSize = nSize;
12259
12260 return true;
12261}
ICCPROFLIB_API void * icRealloc(void *ptr, size_t size)
Definition IccUtil.cpp:111

References icRealloc(), CIccTagEmbeddedNormalImage::m_nSize, and CIccTagEmbeddedNormalImage::m_pData.

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

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

◆ ToXml()

bool CIccTagXmlEmbeddedNormalImage::ToXml ( std::string &  xml,
std::string  blanks = "" 
)
virtual

Implements CIccTagXml.

5258{
5259 char buf[200];
5260
5261 xml += blanks + "<NormalImage";
5262 sprintf(buf, " SeamlessIndicator=\"%d\"", m_nSeamlesIndicator);
5263 xml += buf;
5264
5265 sprintf(buf, " EncodingFormat=\"%d\"", m_nEncodingFormat);
5266 xml += buf;
5267
5268 if (!m_nSize) {
5269 xml += blanks + "/>\n";
5270 }
5271 else {
5272 xml += ">\n";
5273 xml += blanks + " <Image>\n";
5274 icXmlDumpHexData(xml, blanks + " ", m_pData, m_nSize);
5275 xml += blanks + " </Image>\n";
5276 xml += blanks + "</NormalImage>\n";
5277 }
5278
5279 return true;
5280}
icUInt32Number icXmlDumpHexData(std::string &xml, std::string blanks, void *pBuf, icUInt32Number nBufSize)
Definition IccUtilXml.cpp:648

References icXmlDumpHexData(), CIccTagEmbeddedNormalImage::m_nEncodingFormat, CIccTagEmbeddedNormalImage::m_nSeamlesIndicator, CIccTagEmbeddedNormalImage::m_nSize, and CIccTagEmbeddedNormalImage::m_pData.

+ Here is the call graph for this function:

◆ Validate()

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

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

12279{
12280 icValidateStatus rv = CIccTag::Validate(sigPath, sReport, pProfile);
12281
12282 CIccInfo Info;
12283 std::string sSigPathName = Info.GetSigPathName(sigPath);
12284
12285 switch (m_nSeamlesIndicator) {
12286 case 0:
12287 case 1:
12288 break;
12289 default:
12290 sReport += icMsgValidateNonCompliant;
12291 sReport += sSigPathName;
12292 sReport += " - Invalid data flag Seamless Indicator.\n";
12294 }
12295
12296 switch (m_nEncodingFormat) {
12297 case icPngImageType:
12298 if (m_nSize > 4 && m_pData) {
12299 unsigned char PNGhdr[] = { 'P', 'N', 'G' };
12300 if (memcmp(m_pData+1, PNGhdr, 3)) {
12301 sReport += icMsgValidateNonCompliant;
12302 sReport += sSigPathName;
12303 sReport += " - Non-PNG file stored as Embedded image.\n";
12305 }
12306 }
12307 break;
12308 case icTiffImageType:
12309 if (m_nSize > 4 && m_pData) {
12310 unsigned char IIhdr[] = { 'I', 'I', 42, 0 };
12311 unsigned char MMhdr[] = { 'M', 'M', 0, 42 };
12312
12313 if (memcmp(m_pData, IIhdr, 4) && memcmp(m_pData, MMhdr, 4)) {
12314 sReport += icMsgValidateNonCompliant;
12315 sReport += sSigPathName;
12316 sReport += " - Non-TIFF file stored as Embedded image.\n";
12318 }
12319 }
12320 break;
12321 default:
12322 sReport += icMsgValidateNonCompliant;
12323 sReport += sSigPathName;
12324 sReport += " - Invalid data flag Encoding Image Type.\n";
12326 }
12327
12328 return rv;
12329}
icValidateStatus
Definition IccDefs.h:119
@ icValidateNonCompliant
Definition IccDefs.h:122
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
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(), icMaxStatus(), icMsgValidateNonCompliant, icPngImageType, icTiffImageType, icValidateNonCompliant, CIccTagEmbeddedNormalImage::m_nEncodingFormat, CIccTagEmbeddedNormalImage::m_nSeamlesIndicator, CIccTagEmbeddedNormalImage::m_nSize, CIccTagEmbeddedNormalImage::m_pData, and CIccTag::Validate().

+ Here is the call graph for this function:

◆ Write()

bool CIccTagEmbeddedNormalImage::Write ( CIccIO pIO)
virtualinherited

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

12166{
12168
12169 if (!pIO)
12170 return false;
12171
12172 if (!pIO->Write32(&sig))
12173 return false;
12174
12175 if (!pIO->Write32(&m_nReserved))
12176 return false;
12177
12178 if (!pIO->Write32(&m_nSeamlesIndicator))
12179 return false;
12180
12181 if (!pIO->Write32(&m_nEncodingFormat))
12182 return false;
12183
12185 return false;
12186
12187 return true;
12188}
virtual icInt32Number Write8(void *pBuf8, icInt32Number nNum=1)
Definition IccIO.h:105
icInt32Number Write32(void *pBuf32, icInt32Number nNum=1)
Definition IccIO.cpp:152
virtual icTagTypeSignature GetType() const
Definition IccTagBasic.h:1802

References CIccTagEmbeddedNormalImage::GetType(), CIccTagEmbeddedNormalImage::m_nEncodingFormat, CIccTag::m_nReserved, CIccTagEmbeddedNormalImage::m_nSeamlesIndicator, CIccTagEmbeddedNormalImage::m_nSize, CIccTagEmbeddedNormalImage::m_pData, CIccIO::Write32(), and CIccIO::Write8().

+ Here is the call graph for this function:

Field Documentation

◆ m_nEncodingFormat

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

◆ m_nSeamlesIndicator

◆ m_nSize

◆ m_pData


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