Hoyt's FORK of DemoIccMAX
2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
IccTagProfSeqId.h
Go to the documentation of this file.
1
/** @file
2
File: IccTagProfSeqId.h
3
4
Contains: Header for implementation of CIccTagProfSeqId
5
and supporting classes
6
7
Version: V1
8
9
Copyright: (c) see ICC Software License
10
*/
11
12
/*
13
* The ICC Software License, Version 0.2
14
*
15
*
16
* Copyright (c) 2005 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
// HISTORY:
67
//
68
// -Jun 3, 2007
69
// Initial CIccTagProfSeqId development
70
//
71
//////////////////////////////////////////////////////////////////////
72
73
#ifndef _ICCTAGPROFSEQID_H
74
#define _ICCTAGPROFSEQID_H
75
76
#include "
IccProfile.h
"
77
#include "
IccTag.h
"
78
#include <memory>
79
#include <list>
80
81
#ifdef USEREFICCMAXNAMESPACE
82
namespace
refIccMAX {
83
#endif
84
85
class
ICCPROFLIB_API
CIccProfileIdDesc
86
{
87
public
:
88
CIccProfileIdDesc
();
89
CIccProfileIdDesc
(CIccProfile &profile);
90
CIccProfileIdDesc
(
icProfileID
id
,
CIccTagMultiLocalizedUnicode
desc);
91
CIccProfileIdDesc
(
const
CIccProfileIdDesc
&pid);
92
CIccProfileIdDesc
&operator=(
const
CIccProfileIdDesc
&pid);
93
94
void
Describe(std::string &sDescription,
int
nVerboseness);
95
96
bool
Read(
icUInt32Number
size,
CIccIO
*pIO);
97
bool
Write(
CIccIO
*pIO);
98
99
icValidateStatus
Validate(std::string sigPath, std::string &sReport,
const
CIccProfile* pProfile=NULL)
const
;
100
101
CIccTagMultiLocalizedUnicode
m_desc
;
102
icProfileID
m_profileID
;
103
};
104
105
typedef
std::list<CIccProfileIdDesc>
CIccProfileIdDescList
;
106
107
/**
108
****************************************************************************
109
* Class: CIccTagProfileSequenceId
110
*
111
* Purpose: The ProfileSequenceId tag
112
*****************************************************************************
113
*/
114
class
ICCPROFLIB_API
CIccTagProfileSequenceId
:
public
CIccTag
115
{
116
public
:
117
CIccTagProfileSequenceId
();
118
CIccTagProfileSequenceId
(
const
CIccTagProfileSequenceId
&lut);
119
CIccTagProfileSequenceId
&operator=(
const
CIccTagProfileSequenceId
&lut);
120
virtual
CIccTag
*
NewCopy
()
const
{
return
new
CIccTagProfileSequenceId
(*
this
);}
121
virtual
~CIccTagProfileSequenceId
();
122
123
static
CIccTagProfileSequenceId
*ParseMem(
icUInt8Number
*pMem,
icUInt32Number
size);
124
125
virtual
icTagTypeSignature
GetType
()
const
{
return
icSigProfileSequceIdType
; }
126
virtual
const
icChar
*
GetClassName
()
const
{
return
"CIccTagProfileSequenceId"
; }
127
128
virtual
void
Describe(std::string &sDescription,
int
nVerboseness);
129
130
virtual
bool
Read(
icUInt32Number
size,
CIccIO
*pIO);
131
virtual
bool
Write(
CIccIO
*pIO);
132
133
virtual
icValidateStatus
Validate(std::string sigPath, std::string &sReport,
const
CIccProfile* pProfile=NULL)
const
;
134
135
bool
AddProfileDescription
(CIccProfile &profile) {
return
AddProfileDescription
(
CIccProfileIdDesc
(profile)); }
136
bool
AddProfileDescription(
const
CIccProfileIdDesc
&profileDesc);
137
138
CIccProfileIdDesc
*GetFirst();
139
CIccProfileIdDesc
*GetLast();
140
141
CIccProfileIdDescList::iterator
begin
() {
return
m_list->begin(); }
142
CIccProfileIdDescList::iterator
end
() {
return
m_list->end(); }
143
144
protected
:
145
void
Cleanup
();
146
147
CIccProfileIdDescList
*
m_list
;
148
};
149
150
151
152
//CIccTagProfSeq support
153
#ifdef USEREFICCMAXNAMESPACE
154
}
155
#endif
156
157
#endif
//_ICCTAGPROFSEQID_H
icChar
char icChar
Definition
IccDefs.h:109
icValidateStatus
icValidateStatus
Definition
IccDefs.h:118
ICCPROFLIB_API
#define ICCPROFLIB_API
Definition
IccProfLibConf.h:147
IccProfile.h
File: IccProfile.h.
IccTag.h
File: IccTag.h.
CIccProfileIdDescList
std::list< CIccProfileIdDesc > CIccProfileIdDescList
Definition
IccTagProfSeqId.h:105
icTagTypeSignature
icTagTypeSignature
Definition
TestParseText.cpp:33
icUInt32Number
unsigned int icUInt32Number
Definition
TestParseText.cpp:32
CIccIO
Type: Class.
Definition
IccIO.h:97
CIccProfileIdDesc
Definition
IccTagProfSeqId.h:86
CIccProfileIdDesc::m_desc
CIccTagMultiLocalizedUnicode m_desc
Definition
IccTagProfSeqId.h:101
CIccProfileIdDesc::m_profileID
icProfileID m_profileID
Definition
IccTagProfSeqId.h:102
CIccTag
Class: CIccTag.
Definition
IccTagBasic.h:108
CIccTagMultiLocalizedUnicode
Class: CIccTagMultiLocalizedUnicode.
Definition
IccTagBasic.h:1229
CIccTagProfileSequenceId
Class: CIccTagProfileSequenceId.
Definition
IccTagProfSeqId.h:115
CIccTagProfileSequenceId::GetClassName
virtual const icChar * GetClassName() const
Definition
IccTagProfSeqId.h:126
CIccTagProfileSequenceId::end
CIccProfileIdDescList::iterator end()
Definition
IccTagProfSeqId.h:142
CIccTagProfileSequenceId::AddProfileDescription
bool AddProfileDescription(CIccProfile &profile)
Definition
IccTagProfSeqId.h:135
CIccTagProfileSequenceId::begin
CIccProfileIdDescList::iterator begin()
Definition
IccTagProfSeqId.h:141
CIccTagProfileSequenceId::GetType
virtual icTagTypeSignature GetType() const
Function: GetType()
Definition
IccTagProfSeqId.h:125
CIccTagProfileSequenceId::m_list
CIccProfileIdDescList * m_list
Definition
IccTagProfSeqId.h:147
CIccTagProfileSequenceId::Cleanup
void Cleanup()
CIccTagProfileSequenceId::NewCopy
virtual CIccTag * NewCopy() const
Function: NewCopy(sDescription) Each derived tag will implement it's own NewCopy() function.
Definition
IccTagProfSeqId.h:120
icUInt8Number
unsigned char icUInt8Number
Number definitions.
Definition
icProfileHeader.h:250
icSigProfileSequceIdType
@ icSigProfileSequceIdType
Definition
icProfileHeader.h:554
icProfileID
Profile ID.
Definition
icProfileHeader.h:2036
IccProfLib
IccTagProfSeqId.h
Generated on Sun Jun 2 2024 07:45:59 for Hoyt's FORK of DemoIccMAX by
1.11.0