Hoyt's FORK of DemoIccMAX
2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
IccTagXmlFactory.h
Go to the documentation of this file.
1
/** @file
2
File: IccTagXmlFactory.h
3
4
Contains: Header for implementation of a CIccTagXmlFactory class and
5
creation factories - An extension factory providing ICC XML format
6
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
67
#ifndef _ICCTAGXMLFACTORY_H
68
#define _ICCTAGXMLFACTORY_H
69
70
#include "
IccTagFactory.h
"
71
72
//CIccTag factory support
73
#ifdef USEREFICCMAXNAMESPACE
74
namespace
refIccMAX {
75
#endif
76
77
/**
78
***********************************************************************
79
* Class: CIccTagXmlFactory
80
*
81
* Purpose:
82
* CIccSpecTagFactory provides creation of CIccTag's defined by the ICC profile
83
* specification. The CIccTagCreator always creates a CIccSpecTagFactory.
84
***********************************************************************
85
*/
86
class
CIccTagXmlFactory
:
public
IIccTagFactory
87
{
88
public
:
89
/**
90
* Function: CreateTag(tagTypeSig)
91
* Create a tag of type tagTypeSig.
92
*
93
* Parameter(s):
94
* tagTypeSig = signature of the ICC tag type for the tag to be created
95
*
96
* Returns a new CIccTag object of the given signature type.
97
* Unrecognized tagTypeSig's will be created as a CIccTagUnknown object.
98
*/
99
virtual
CIccTag
* CreateTag(
icTagTypeSignature
tagSig);
100
101
/**
102
* Function: GetTagSigName(tagSig)
103
* Get display name of tagSig.
104
*
105
* Parameter(s):
106
* tagName = string to put tag name into,
107
* tagSig = signature of the ICC tag type to get a name for
108
*
109
* Returns pointer to string containing name of tag if tag is recognized
110
* by the factory, NULL if the factory doesn't create tagSig tags.
111
*/
112
virtual
const
icChar
* GetTagSigName(
icTagSignature
tagSig);
113
114
/**
115
* Function: GetTagNameSig(szTagName)
116
* Get signature from tag display name.
117
*
118
* Parameter(s):
119
* szTagName = name of tag
120
*
121
* Returns tag signature of tag if tag name is recognized
122
* by the factory, icSigUnknownTag if the tag name is not recognized.
123
*/
124
virtual
icTagSignature
GetTagNameSig(
const
icChar
*szTagName);
125
126
/**
127
* Function: GetTagTypeSigName(tagTypeSig)
128
* Get display name of tagTypeSig.
129
*
130
* Parameter(s):
131
* tagName = string to put tag name into,
132
* tagTypeSig = signature of the ICC tag type to get a name for
133
*
134
* Returns pointer to string containing name of tag type if tag is recognized
135
* by the factory, NULL if the factory doesn't create tagTypeSig tags.
136
*/
137
virtual
const
icChar
* GetTagTypeSigName(
icTagTypeSignature
tagTypeSig);
138
139
/**
140
* Function: GetTagTypeNameSig(szTypeName)
141
* Get signature based on display name of tag type.
142
*
143
* Parameter(s):
144
* szTypeName = name of the ICC tag type to get a signature for
145
*
146
* Returns tag type signature of tag type name if type name is recognized
147
* by the factory, icSigUnknownType if the type name is not recognized.
148
*/
149
virtual
icTagTypeSignature
GetTagTypeNameSig(
const
icChar
* szTypeName);
150
};
151
152
#ifdef USEREFICCMAXNAMESPACE
153
}
//namespace refIccMAX
154
#endif
155
156
#endif
//_ICCTAGFACTORY_H
icChar
char icChar
Definition
IccDefs.h:109
IccTagFactory.h
File: IccTagFactory.h.
icTagTypeSignature
icTagTypeSignature
Definition
TestParseText.cpp:33
CIccTag
Class: CIccTag.
Definition
IccTagBasic.h:108
CIccTagXmlFactory
Class: CIccTagXmlFactory.
Definition
IccTagXmlFactory.h:87
IIccTagFactory
Class: IIccTagFactory.
Definition
IccTagFactory.h:102
icTagSignature
icTagSignature
public tags and sizes
Definition
icProfileHeader.h:341
IccXML
IccLibXML
IccTagXmlFactory.h
Generated on Sun Jun 2 2024 07:46:00 for Hoyt's FORK of DemoIccMAX by
1.11.0