Hoyt's FORK of DemoIccMAX 2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
IccMpeXml.h
Go to the documentation of this file.
1/** @file
2File: IccMpeXml.h
3
4Contains: Header for implementation of CIccMpeXml class and
5creation factories
6
7Version: V1
8
9Copyright: (c) see ICC Software License
10*/
11
12/*
13 * The ICC Software License, Version 0.2
14 *
15 *
16 * Copyright (c) 2003-2012 The International Color Consortium. All rights
17 * reserved.
18 *
19 * Redistribution and use in source and binary forms, with or without
20 * modification, are permitted provided that the following conditions
21 * are met:
22 *
23 * 1. Redistributions of source code must retain the above copyright
24 * notice, this list of conditions and the following disclaimer.
25 *
26 * 2. Redistributions in binary form must reproduce the above copyright
27 * notice, this list of conditions and the following disclaimer in
28 * the documentation and/or other materials provided with the
29 * distribution.
30 *
31 * 3. In the absence of prior written permission, the names "ICC" and "The
32 * International Color Consortium" must not be used to imply that the
33 * ICC organization endorses or promotes products derived from this
34 * software.
35 *
36 *
37 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
38 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
39 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
40 * DISCLAIMED. IN NO EVENT SHALL THE INTERNATIONAL COLOR CONSORTIUM OR
41 * ITS CONTRIBUTING MEMBERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
42 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
43 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
44 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
45 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
46 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
47 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
48 * SUCH DAMAGE.
49 * ====================================================================
50 *
51 * This software consists of voluntary contributions made by many
52 * individuals on behalf of the The International Color Consortium.
53 *
54 *
55 * Membership in the ICC is encouraged when this software is used for
56 * commercial purposes.
57 *
58 *
59 * For more information on The International Color Consortium, please
60 * see <http://www.color.org/>.
61 *
62 *
63 */
64
65
66#ifndef _ICCMPEXML_H
67#define _ICCMPEXML_H
68#include "IccMpeBasic.h"
69#include "IccMpeACS.h"
70#include "IccMpeCalc.h"
71#include "IccMpeSpectral.h"
72#include <libxml/parser.h>
73#include <libxml/tree.h>
74#include <map>
75
77{
78public:
79 virtual ~CIccMpeXml(void) {}
80
81 virtual bool ToXml(std::string &xml, std::string blanks="") = 0;
82 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr) = 0;
83
84 virtual const char *GetExtClassName() { return "CIccMpeXml"; }
85};
86
88{
89public:
90 virtual ~CIccMpeXmlUnknown() {}
91
92 virtual const char *GetClassName() const { return "CIccTagXmlUnknown"; }
93
94 virtual IIccExtensionMpe *GetExtension() { return this; }
95
96 virtual bool ToXml(std::string &xml, std::string blanks="");
97 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
98};
99
100
102{
103public:
104 bool ToXml(std::string &xml, std::string blanks/* = ""*/);
105 bool ParseXml(xmlNode *pNode, std::string &parseStr);
106};
107
108
110{
111public:
113
114 virtual const char *GetClassName() const { return "CIccMpeXmlCurveSet"; }
115
116 virtual IIccExtensionMpe *GetExtension() { return this; }
117
118 virtual bool ToXml(std::string &xml, std::string blanks="");
119 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
120
121protected:
122 //virtual CIccCurveSetCurve* CreateCurve(icCurveElemSignature sig);
123};
124
126{
127public:
129
130 virtual const char *GetClassName() const { return "CIccMpeXmlTintArray"; }
131
132 virtual IIccExtensionMpe *GetExtension() { return this; }
133
134 virtual bool ToXml(std::string &xml, std::string blanks="");
135 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
136};
137
139{
140public:
142
143 virtual CIccToneMapFunc* NewCopy();
144
145 virtual const char* GetClassName() const { return "CIccXmlToneMapFunc"; }
146
147 virtual bool ToXml(std::string& xml, std::string blanks = "");
148 virtual bool ParseXml(xmlNode* pNode, std::string& parseStr);
149};
150
152{
153public:
155
156 virtual const char* GetClassName() const { return "CIccMpeXmlToneMap"; }
157
159
160 virtual IIccExtensionMpe* GetExtension() { return this; }
161
162 virtual bool ToXml(std::string& xml, std::string blanks = "");
163 virtual bool ParseXml(xmlNode* pNode, std::string& parseStr);
164};
165
167{
168public:
169 virtual ~CIccMpeXmlMatrix() {}
170
171 virtual const char *GetClassName() const { return "CIccMpeXmlMatrix"; }
172
173 virtual IIccExtensionMpe *GetExtension() { return this; }
174
175 virtual bool ToXml(std::string &xml, std::string blanks="");
176 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
177};
178
180{
181public:
182 virtual ~CIccMpeXmlCLUT() {}
183
184 virtual const char *GetClassName() const { return "CIccMpeXmlCLUT"; }
185
186 virtual IIccExtensionMpe *GetExtension() { return this; }
187
188 virtual bool ToXml(std::string &xml, std::string blanks="");
189 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
190};
191
193{
194public:
196
197 virtual const char *GetClassName() const { return "CIccMpeXmlExtCLUT"; }
198
199 virtual IIccExtensionMpe *GetExtension() { return this; }
200
201 virtual bool ToXml(std::string &xml, std::string blanks="");
202 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
203};
204
206{
207public:
208 virtual ~CIccMpeXmlBAcs() {}
209
210 virtual const char *GetClassName() const { return "CIccMpeXmlBAcs"; }
211
212 virtual IIccExtensionMpe *GetExtension() { return this; }
213
214 virtual bool ToXml(std::string &xml, std::string blanks="");
215 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
216};
217
219{
220public:
221 virtual ~CIccMpeXmlEAcs() {}
222
223 virtual const char *GetClassName() const { return "CIccMpeXmlEAcs"; }
224
225 virtual IIccExtensionMpe *GetExtension() { return this; }
226
227 virtual bool ToXml(std::string &xml, std::string blanks="");
228 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
229};
230
232{
233public:
235
236 virtual const char *GetClassName() const { return "CIccMpeXmlJabToXYZ"; }
237
238 virtual IIccExtensionMpe *GetExtension() { return this; }
239
240 virtual bool ToXml(std::string &xml, std::string blanks="");
241 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
242};
243
245{
246public:
248
249 virtual const char *GetClassName() const { return "CIccMpeXmlXYZToJab"; }
250
251 virtual IIccExtensionMpe *GetExtension() { return this; }
252
253 virtual bool ToXml(std::string &xml, std::string blanks="");
254 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
255};
256
258{
259public:
260 CIccMpePtr(CIccMultiProcessElement *pMpe = NULL, int nIndex = -1) { m_ptr = pMpe; m_nIndex = nIndex; }
261 CIccMpePtr(const CIccMpePtr &mptr) { m_ptr = mptr.m_ptr; m_nIndex = mptr.m_nIndex; }
262
265};
266
267typedef std::map<std::string, CIccMpePtr> MpePtrMap;
268typedef std::list<CIccMpePtr> MpePtrList;
269
271{
272public:
273 CIccTempVar(std::string name = "", int pos = -1, icUInt16Number size = 1) { m_name = name; m_pos = pos; m_size = size;}
274 CIccTempVar(const CIccTempVar &temp) { m_name = temp.m_name; m_pos = temp.m_pos; m_size = temp.m_size; }
275 std::string m_name;
276 int m_pos;
278};
279
280typedef std::map<std::string, CIccTempVar> TempVarMap;
281typedef std::list<CIccTempVar> TempVarList;
282typedef std::pair<int, int> IndexSizePair;
283typedef std::map<std::string, IndexSizePair> ChanVarMap;
284
286{
287public:
288 CIccTempDeclVar(std::string name = "", int pos = -1, icUInt16Number size = 1) { m_name = ""; m_pos = pos; m_size = size; }
289 CIccTempDeclVar(const CIccTempDeclVar &temp) { m_name = temp.m_name; m_pos = temp.m_pos; m_size = temp.m_size; m_members = temp.m_members; }
290 std::string m_name;
291 int m_pos;
293
295};
296
297typedef std::map<std::string, CIccTempDeclVar> TempDeclVarMap;
298
299typedef std::map<std::string, std::string> MacroMap;
300
302{
303public:
306
307 virtual const char *GetClassName() const { return "CIccMpeXmlCalculator"; }
308
309 virtual IIccExtensionMpe *GetExtension() { return this; }
310
311 virtual bool ToXml(std::string &xml, std::string blanks = "");
312 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
313
314 bool ParseImport(xmlNode *pNode, std::string importPath, std::string &parseStr);
315
316protected:
317 void clean();
318 static bool validNameChar(char c, bool bFirst);
319 static bool validName(const char *saName);
320 bool ValidMacroCalls(const char *szMacroText, std::string macroStack, std::string &parseStr) const;
321 bool ValidateMacroCalls(std::string &parseStr) const;
322 bool Flatten(std::string &flatStr, std::string macroName, const char *szFunc, std::string &parseStr, icUInt32Number nLocalsOffset=0);
323 bool UpdateLocals(std::string &func, std::string szFunc, std::string &parseStr, int nLocalsOffset);
324 bool ParseChanMap(ChanVarMap& chanMap, const char *szNames, int nChannels);
325
328
329 std::string m_sImport;
330
334
338
341};
342
344{
345public:
347
348 virtual const char *GetClassName() const { return "CIccMpeXmlEmissionMatrix"; }
349
350 virtual IIccExtensionMpe *GetExtension() { return this; }
351
352 virtual bool ToXml(std::string &xml, std::string blanks="");
353 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
354};
355
357{
358public:
360
361 virtual const char *GetClassName() const { return "CIccMpeXmlInvEmissionMatrix"; }
362
363 virtual IIccExtensionMpe *GetExtension() { return this; }
364
365 virtual bool ToXml(std::string &xml, std::string blanks="");
366 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
367};
368
370{
371public:
373
374 virtual const char *GetClassName() const { return "CIccMpeXmlEmissionCLUT"; }
375
376 virtual IIccExtensionMpe *GetExtension() { return this; }
377
378 virtual bool ToXml(std::string &xml, std::string blanks="");
379 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
380};
381
383{
384public:
386
387 virtual const char *GetClassName() const { return "CIccMpeXmlReflectanceCLUT"; }
388
389 virtual IIccExtensionMpe *GetExtension() { return this; }
390
391 virtual bool ToXml(std::string &xml, std::string blanks="");
392 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
393};
394
396{
397public:
399
400 virtual const char *GetClassName() const { return "CIccMpeXmlEmissionObserver"; }
401
402 virtual IIccExtensionMpe *GetExtension() { return this; }
403
404 virtual bool ToXml(std::string &xml, std::string blanks="");
405 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
406};
407
409{
410public:
412
413 virtual const char *GetClassName() const { return "CIccMpeXmlReflectanceObserver"; }
414
415 virtual IIccExtensionMpe *GetExtension() { return this; }
416
417 virtual bool ToXml(std::string &xml, std::string blanks="");
418 virtual bool ParseXml(xmlNode *pNode, std::string &parseStr);
419};
420
421#endif //_ICCMPEXML_H
File: IccMpeACS.h.
File: IccMpeBasic.h.
File: IccMpeCalc.h.
File: IccMpeSpectral.h.
std::list< CIccMpePtr > MpePtrList
Definition IccMpeXml.h:268
std::list< CIccTempVar > TempVarList
Definition IccMpeXml.h:281
std::map< std::string, std::string > MacroMap
Definition IccMpeXml.h:299
std::map< std::string, CIccTempDeclVar > TempDeclVarMap
Definition IccMpeXml.h:297
std::pair< int, int > IndexSizePair
Definition IccMpeXml.h:282
std::map< std::string, IndexSizePair > ChanVarMap
Definition IccMpeXml.h:283
std::map< std::string, CIccTempVar > TempVarMap
Definition IccMpeXml.h:280
std::map< std::string, CIccMpePtr > MpePtrMap
Definition IccMpeXml.h:267
unsigned int icUInt32Number
Class: CIccMpeBAcs.
Definition IccMpeACS.h:131
Class: CIccMpeCLUT.
Class: CIccMpeCalculator.
Definition IccMpeCalc.h:447
Class: CIccMpeCurveSet.
Class: CIccMpeEndAcs.
Definition IccMpeACS.h:155
Class: CIccMpeEmissionCLUT.
Class: CIccMpeEmissionMatrix.
Class: CIccMpeEmissionObserver.
Class: CIccMpeInvEmissionMatrix.
Class: CIccMpeJabToXYZ.
Class: CIccMpeMatrix.
CIccMultiProcessElement * m_ptr
Definition IccMpeXml.h:263
CIccMpePtr(CIccMultiProcessElement *pMpe=NULL, int nIndex=-1)
Definition IccMpeXml.h:260
CIccMpePtr(const CIccMpePtr &mptr)
Definition IccMpeXml.h:261
Class: CIccMpeReflectanceCLUT.
Class: CIccMpeReflectanceObserver.
Class: CIccMpeTintArray.
Class: CIccMpeToneMap.
Class: CIccMpeUnknown.
Definition IccTagMPE.h:230
Class: CIccMpeXYZToJab.
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual const char * GetClassName() const
Definition IccMpeXml.h:210
virtual ~CIccMpeXmlBAcs()
Definition IccMpeXml.h:208
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual IIccExtensionMpe * GetExtension()
Definition IccMpeXml.h:212
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual ~CIccMpeXmlCLUT()
Definition IccMpeXml.h:182
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual IIccExtensionMpe * GetExtension()
Definition IccMpeXml.h:186
virtual const char * GetClassName() const
Definition IccMpeXml.h:184
bool ParseChanMap(ChanVarMap &chanMap, const char *szNames, int nChannels)
std::string m_sImport
Definition IccMpeXml.h:329
TempDeclVarMap m_declVarMap
Definition IccMpeXml.h:331
ChanVarMap m_outputMap
Definition IccMpeXml.h:327
bool UpdateLocals(std::string &func, std::string szFunc, std::string &parseStr, int nLocalsOffset)
TempDeclVarMap m_macroLocalMap
Definition IccMpeXml.h:340
bool Flatten(std::string &flatStr, std::string macroName, const char *szFunc, std::string &parseStr, icUInt32Number nLocalsOffset=0)
bool ParseImport(xmlNode *pNode, std::string importPath, std::string &parseStr)
virtual const char * GetClassName() const
Definition IccMpeXml.h:307
virtual ~CIccMpeXmlCalculator()
Definition IccMpeXml.h:305
bool ValidMacroCalls(const char *szMacroText, std::string macroStack, std::string &parseStr) const
bool ValidateMacroCalls(std::string &parseStr) const
TempVarMap m_varMap
Definition IccMpeXml.h:333
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
static bool validNameChar(char c, bool bFirst)
static bool validName(const char *saName)
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual IIccExtensionMpe * GetExtension()
Definition IccMpeXml.h:309
ChanVarMap m_inputMap
Definition IccMpeXml.h:326
MpePtrList m_mpeList
Definition IccMpeXml.h:337
virtual const char * GetClassName() const
Definition IccMpeXml.h:114
virtual ~CIccMpeXmlCurveSet()
Definition IccMpeXml.h:112
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual IIccExtensionMpe * GetExtension()
Definition IccMpeXml.h:116
virtual ~CIccMpeXmlEAcs()
Definition IccMpeXml.h:221
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual IIccExtensionMpe * GetExtension()
Definition IccMpeXml.h:225
virtual const char * GetClassName() const
Definition IccMpeXml.h:223
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual IIccExtensionMpe * GetExtension()
Definition IccMpeXml.h:376
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual ~CIccMpeXmlEmissionCLUT()
Definition IccMpeXml.h:372
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual const char * GetClassName() const
Definition IccMpeXml.h:374
virtual const char * GetClassName() const
Definition IccMpeXml.h:348
virtual IIccExtensionMpe * GetExtension()
Definition IccMpeXml.h:350
virtual ~CIccMpeXmlEmissionMatrix()
Definition IccMpeXml.h:346
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual IIccExtensionMpe * GetExtension()
Definition IccMpeXml.h:402
virtual ~CIccMpeXmlEmissionObserver()
Definition IccMpeXml.h:398
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual const char * GetClassName() const
Definition IccMpeXml.h:400
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual IIccExtensionMpe * GetExtension()
Definition IccMpeXml.h:199
virtual ~CIccMpeXmlExtCLUT()
Definition IccMpeXml.h:195
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual const char * GetClassName() const
Definition IccMpeXml.h:197
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)=0
virtual ~CIccMpeXml(void)
Definition IccMpeXml.h:79
virtual bool ToXml(std::string &xml, std::string blanks="")=0
virtual const char * GetExtClassName()
Definition IccMpeXml.h:84
virtual IIccExtensionMpe * GetExtension()
Definition IccMpeXml.h:363
virtual const char * GetClassName() const
Definition IccMpeXml.h:361
virtual ~CIccMpeXmlInvEmissionMatrix()
Definition IccMpeXml.h:359
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual IIccExtensionMpe * GetExtension()
Definition IccMpeXml.h:238
virtual const char * GetClassName() const
Definition IccMpeXml.h:236
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual ~CIccMpeXmlJabToXYZ()
Definition IccMpeXml.h:234
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual IIccExtensionMpe * GetExtension()
Definition IccMpeXml.h:173
virtual ~CIccMpeXmlMatrix()
Definition IccMpeXml.h:169
virtual const char * GetClassName() const
Definition IccMpeXml.h:171
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual ~CIccMpeXmlReflectanceCLUT()
Definition IccMpeXml.h:385
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual const char * GetClassName() const
Definition IccMpeXml.h:387
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual IIccExtensionMpe * GetExtension()
Definition IccMpeXml.h:389
virtual IIccExtensionMpe * GetExtension()
Definition IccMpeXml.h:415
virtual const char * GetClassName() const
Definition IccMpeXml.h:413
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual ~CIccMpeXmlReflectanceObserver()
Definition IccMpeXml.h:411
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual IIccExtensionMpe * GetExtension()
Definition IccMpeXml.h:132
virtual const char * GetClassName() const
Definition IccMpeXml.h:130
virtual ~CIccMpeXmlTintArray()
Definition IccMpeXml.h:128
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual ~CIccMpeXmlToneMap()
Definition IccMpeXml.h:154
virtual IIccExtensionMpe * GetExtension()
Definition IccMpeXml.h:160
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual const char * GetClassName() const
Definition IccMpeXml.h:156
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual CIccToneMapFunc * NewToneMapFunc()
Definition IccMpeXml.h:158
virtual const char * GetClassName() const
Definition IccMpeXml.h:92
virtual ~CIccMpeXmlUnknown()
Definition IccMpeXml.h:90
virtual IIccExtensionMpe * GetExtension()
Definition IccMpeXml.h:94
virtual bool ToXml(std::string &xml, std::string blanks="")
Definition IccMpeXml.cpp:83
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual ~CIccMpeXmlXYZToJab()
Definition IccMpeXml.h:247
virtual bool ToXml(std::string &xml, std::string blanks="")
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual IIccExtensionMpe * GetExtension()
Definition IccMpeXml.h:251
virtual const char * GetClassName() const
Definition IccMpeXml.h:249
Class: CIccMultiProcessElement.
Definition IccTagMPE.h:146
Class: CIccSegmentedCurve.
bool ParseXml(xmlNode *pNode, std::string &parseStr)
bool ToXml(std::string &xml, std::string blanks)
std::string m_name
Definition IccMpeXml.h:290
icUInt16Number m_size
Definition IccMpeXml.h:292
CIccTempDeclVar(std::string name="", int pos=-1, icUInt16Number size=1)
Definition IccMpeXml.h:288
CIccTempDeclVar(const CIccTempDeclVar &temp)
Definition IccMpeXml.h:289
TempVarList m_members
Definition IccMpeXml.h:294
CIccTempVar(std::string name="", int pos=-1, icUInt16Number size=1)
Definition IccMpeXml.h:273
CIccTempVar(const CIccTempVar &temp)
Definition IccMpeXml.h:274
icUInt16Number m_size
Definition IccMpeXml.h:277
std::string m_name
Definition IccMpeXml.h:275
Class: CIccToneMapFunc.
virtual CIccToneMapFunc * NewCopy()
virtual const char * GetClassName() const
Definition IccMpeXml.h:145
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
virtual ~CIccXmlToneMapFunc()
Definition IccMpeXml.h:141
virtual bool ToXml(std::string &xml, std::string blanks="")
unsigned short icUInt16Number