Hoyt's FORK of DemoIccMAX 2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
IccMpeXmlFactory.cpp
Go to the documentation of this file.
1/** @file
2 File: IccMpeXmlFactory.cpp
3
4 Contains: Implementation of a CIccTagXmlFactory class and
5 creation factories - An extension factory providing ICC
6 XML format capabilities
7
8 Version: V1
9
10 Copyright: (c) see ICC Software License
11*/
12
13/*
14 * The ICC Software License, Version 0.2
15 *
16 *
17 * Copyright (c) 2003-2012 The International Color Consortium. All rights
18 * reserved.
19 *
20 * Redistribution and use in source and binary forms, with or without
21 * modification, are permitted provided that the following conditions
22 * are met:
23 *
24 * 1. Redistributions of source code must retain the above copyright
25 * notice, this list of conditions and the following disclaimer.
26 *
27 * 2. Redistributions in binary form must reproduce the above copyright
28 * notice, this list of conditions and the following disclaimer in
29 * the documentation and/or other materials provided with the
30 * distribution.
31 *
32 * 3. In the absence of prior written permission, the names "ICC" and "The
33 * International Color Consortium" must not be used to imply that the
34 * ICC organization endorses or promotes products derived from this
35 * software.
36 *
37 *
38 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
39 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
40 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
41 * DISCLAIMED. IN NO EVENT SHALL THE INTERNATIONAL COLOR CONSORTIUM OR
42 * ITS CONTRIBUTING MEMBERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
43 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
44 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
45 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
46 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
47 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
48 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
49 * SUCH DAMAGE.
50 * ====================================================================
51 *
52 * This software consists of voluntary contributions made by many
53 * individuals on behalf of the The International Color Consortium.
54 *
55 *
56 * Membership in the ICC is encouraged when this software is used for
57 * commercial purposes.
58 *
59 *
60 * For more information on The International Color Consortium, please
61 * see <http://www.color.org/>.
62 *
63 *
64 */
65
66#include "IccMpeXml.h"
67#include "IccMpeXmlFactory.h"
68#include "IccUtil.h"
69#include "IccProfile.h"
70
71#ifdef USEREFICCMAXNAMESPACE
72namespace refIccMAX {
73#endif
74
76{
77 switch(elemTypeSig) {
79 return new CIccMpeXmlMatrix();
80
82 return new CIccMpeXmlCurveSet();
83
85 return new CIccMpeXmlCLUT();
86
88 return new CIccMpeXmlExtCLUT();
89
91 return new CIccMpeXmlCalculator();
92
94 return new CIccMpeXmlTintArray();
95
97 return new CIccMpeXmlToneMap();
98
100 return new CIccMpeXmlXYZToJab();
101
103 return new CIccMpeXmlJabToXYZ();
104
106 return new CIccMpeXmlEmissionMatrix();
107
109 return new CIccMpeXmlInvEmissionMatrix();
110
112 return new CIccMpeXmlEmissionCLUT();
113
115 return new CIccMpeXmlReflectanceCLUT();
116
118 return new CIccMpeXmlEmissionObserver();
119
122
124 return new CIccMpeXmlBAcs();
125
127 return new CIccMpeXmlEAcs();
128
129 default:
130 return new CIccMpeXmlUnknown();
131 }
132}
133
134bool CIccMpeXmlFactory::GetElementSigName(std::string &elemName, icElemTypeSignature elemTypeSig)
135{
136 return false;
137}
138
139#ifdef USEREFICCMAXNAMESPACE
140} //namespace refIccMAX
141#endif
File: IccMpeXml.h.
File: IccMpeXmlFactory.h.
File: IccProfile.h.
File: IccUtil.h.
virtual bool GetElementSigName(std::string &elemName, icElemTypeSignature elemTypeSig)
Function: GetElementSigName(elemTypeSig) Get display name of elemTypeSig.
virtual CIccMultiProcessElement * CreateElement(icElemTypeSignature elementSig)
Function: CreateElement(elemTypeSig) Create a element of type elemTypeSig.
Class: CIccMultiProcessElement.
Definition IccTagMPE.h:146
icElemTypeSignature
Multi-Processing Element type signatures.
@ icSigEmissionMatrixElemType
@ icSigBAcsElemType
@ icSigEmissionCLUTElemType
@ icSigReflectanceCLUTElemType
@ icSigCurveSetElemType
@ icSigCLutElemType
@ icSigToneMapElemType
@ icSigReflectanceObserverElemType
@ icSigExtCLutElemType
@ icSigTintArrayElemType
@ icSigXYZToJabElemType
@ icSigJabToXYZElemType
@ icSigMatrixElemType
@ icSigEmissionObserverElemType
@ icSigInvEmissionMatrixElemType
@ icSigEAcsElemType
@ icSigCalculatorElemType