Hoyt's FORK of DemoIccMAX 2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
CIccTagXmlViewingConditions Class Reference

#include <IccTagXml.h>

+ Inheritance diagram for CIccTagXmlViewingConditions:
+ Collaboration diagram for CIccTagXmlViewingConditions:

Public Member Functions

virtual const char * GetClassName () const
 
virtual IIccExtensionTagGetExtension ()
 
virtual bool ParseXml (xmlNode *pNode, std::string &parseStr)
 
virtual bool ToXml (std::string &xml, std::string blanks="")
 
virtual ~CIccTagXmlViewingConditions ()
 
- Public Member Functions inherited from CIccTagViewingConditions
 CIccTagViewingConditions ()
 Name: CIccTagViewingConditions::CIccTagViewingConditions.
 
 CIccTagViewingConditions (const CIccTagViewingConditions &ITVC)
 Name: CIccTagViewingConditions::CIccTagViewingConditions.
 
virtual void Describe (std::string &sDescription, int nVerboseness)
 Name: CIccTagViewingConditions::Describe.
 
virtual icTagTypeSignature GetType () const
 Function: GetType()
 
virtual CIccTagNewCopy () const
 Function: NewCopy(sDescription) Each derived tag will implement it's own NewCopy() function.
 
CIccTagViewingConditionsoperator= (const CIccTagViewingConditions &ViewCondTag)
 Name: CIccTagViewingConditions::operator=.
 
virtual bool Read (icUInt32Number size, CIccIO *pIO)
 Name: CIccTagViewingConditions::Read.
 
virtual icValidateStatus Validate (std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const
 Name: CIccTagViewingConditions::Validate.
 
virtual bool Write (CIccIO *pIO)
 Name: CIccTagViewingConditions::Write.
 
virtual ~CIccTagViewingConditions ()
 Name: CIccTagViewingConditions::~CIccTagViewingConditions.
 
- Public Member Functions inherited from CIccTag
 CIccTag ()
 Name: CIccTag::CIccTag.
 
virtual void DetachIO ()
 Function: ReadAll() - Read All sub data for tag from file.
 
virtual icArraySignature GetTagArrayType () const
 
virtual icStructSignature GetTagStructType () const
 
virtual bool IsArrayType ()
 
virtual bool IsMBBType ()
 
virtual bool IsNumArrayType () const
 
virtual bool IsSupported ()
 Function: IsSupported(size, pIO) - Check if tag fully supported for apply purposes.
 
virtual bool Read (icUInt32Number size, CIccIO *pIO, CIccProfile *pProfile)
 Function: Read(size, pIO) - Read tag from file.
 
virtual bool ReadAll ()
 Function: ReadAll() - Read All sub data for tag from file.
 
virtual ~CIccTag ()
 Name: CIccTag::CIccTag.
 
- Public Member Functions inherited from CIccTagXml
virtual const char * GetExtClassName () const
 
virtual const char * GetExtDerivedClassName () const
 
virtual ~CIccTagXml (void)
 

Additional Inherited Members

- Static Public Member Functions inherited from CIccTag
static CIccTagCreate (icTagTypeSignature sig)
 Name: CIccTag::Create.
 
- Public Attributes inherited from CIccTagViewingConditions
icIlluminant m_illumType
 
icXYZNumber m_XYZIllum
 
icXYZNumber m_XYZSurround
 
- Public Attributes inherited from CIccTag
icUInt32Number m_nReserved
 

Detailed Description

Definition at line 422 of file IccTagXml.h.

Constructor & Destructor Documentation

◆ ~CIccTagXmlViewingConditions()

virtual CIccTagXmlViewingConditions::~CIccTagXmlViewingConditions ( )
inlinevirtual

Definition at line 425 of file IccTagXml.h.

425{}

Member Function Documentation

◆ GetClassName()

virtual const char * CIccTagXmlViewingConditions::GetClassName ( ) const
inlinevirtual

Reimplemented from CIccTagViewingConditions.

Definition at line 427 of file IccTagXml.h.

427{return "CIccTagXmlViewingConditions"; }

◆ GetExtension()

virtual IIccExtensionTag * CIccTagXmlViewingConditions::GetExtension ( )
inlinevirtual

Reimplemented from CIccTag.

Definition at line 429 of file IccTagXml.h.

429{return this; }

◆ ParseXml()

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

Implements CIccTagXml.

Definition at line 1905 of file IccTagXml.cpp.

1906{
1907 xmlAttr *attr;
1908 xmlNode *pChild;
1909
1910 memset(&m_XYZIllum, 0, sizeof(m_XYZIllum));
1911 memset(&m_XYZSurround, 0, sizeof(m_XYZSurround));
1913
1914 pChild = icXmlFindNode(pNode, "IlluminantXYZ");
1915 if (pChild) {
1916
1917 attr = icXmlFindAttr(pChild, "X");
1918 if (attr) {
1920 }
1921
1922 attr = icXmlFindAttr(pChild, "Y");
1923 if (attr) {
1925 }
1926
1927 attr = icXmlFindAttr(pChild, "Z");
1928 if (attr) {
1930 }
1931 }
1932
1933 pChild = icXmlFindNode(pNode, "SurroundXYZ");
1934 if (pChild) {
1935 attr = icXmlFindAttr(pChild, "X");
1936 if (attr) {
1938 }
1939
1940 attr = icXmlFindAttr(pChild, "Y");
1941 if (attr) {
1943 }
1944
1945 attr = icXmlFindAttr(pChild, "Z");
1946 if (attr) {
1948 }
1949 }
1950
1951 pChild = icXmlFindNode(pNode, "IllumType");
1952 if (pChild && pChild->children && pChild->children->content) {
1953 m_illumType = icGetIlluminantValue((icChar*)pChild->children->content);
1954 }
1955
1956 return true;
1957}
float icFloatNumber
All floating point operations/variables in IccProfLib use the icFloatNumber data type.
Definition IccDefs.h:100
char icChar
Definition IccDefs.h:109
icS15Fixed16Number icDtoF(icFloatNumber num)
Definition IccUtil.cpp:545
xmlAttr * icXmlFindAttr(xmlNode *pNode, const char *szAttrName)
xmlNode * icXmlFindNode(xmlNode *pNode, const char *szNodeName)
icIlluminant icGetIlluminantValue(const icChar *str)
const char * icXmlAttrValue(xmlAttr *attr, const char *szDefault)
icIlluminant
Pre-defined illuminants, used in measurement and viewing conditions type.
icS15Fixed16Number Y
icS15Fixed16Number Z
icS15Fixed16Number X

References icDtoF(), icGetIlluminantValue(), icXmlAttrValue(), icXmlFindAttr(), and icXmlFindNode().

+ Here is the call graph for this function:

◆ ToXml()

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

Implements CIccTagXml.

Definition at line 1886 of file IccTagXml.cpp.

1887{
1888 char buf[256];
1889
1890 sprintf(buf, "<IlluminantXYZ X=\"" icXmlFloatFmt "\" Y=\"" icXmlFloatFmt "\" Z=\"" icXmlFloatFmt "\"/>\n",
1892 xml += blanks + buf;
1893
1894 sprintf(buf, "<SurroundXYZ X=\"" icXmlFloatFmt "\" Y=\"" icXmlFloatFmt "\" Z=\"" icXmlFloatFmt "\"/>\n",
1896 xml += blanks + buf;
1897
1898 CIccInfo info;
1899 sprintf(buf, "<IllumType>%s</IllumType>\n", info.GetIlluminantName(m_illumType));
1900 xml += blanks + buf;
1901
1902 return true;
1903}
icFloatNumber icFtoD(icS15Fixed16Number num)
Definition IccUtil.cpp:559
#define icXmlFloatFmt
Type: Class.
Definition IccUtil.h:303
const icChar * GetIlluminantName(icIlluminant val)
Definition IccUtil.cpp:2169

References CIccInfo::GetIlluminantName(), icFtoD(), and icXmlFloatFmt.

+ Here is the call graph for this function:

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