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
2File: IccTagXmlFactory.h
3
4Contains: Header for implementation of a CIccTagXmlFactory class and
5creation factories - An extension factory providing ICC XML format
6capabilities
7
8Version: V1
9
10Copyright: (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
74namespace 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*/
87{
88public:
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
char icChar
Definition IccDefs.h:109
File: IccTagFactory.h.
icTagTypeSignature
Class: CIccTag.
Class: CIccTagXmlFactory.
Class: IIccTagFactory.
icTagSignature
public tags and sizes