Hoyt's FORK of DemoIccMAX
2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
IccMpeACS.h
Go to the documentation of this file.
1
/** @file
2
File: IccMpeACS.h
3
4
Contains: Header for implementation of CIccTagMultiProcessElement
5
ACS elements 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
// -Jan 30, 2005
69
// Initial CIccMpeent prototype development
70
//
71
//////////////////////////////////////////////////////////////////////
72
73
#ifndef _ICCMPEACS_H
74
#define _ICCMPEACS_H
75
76
#include "
IccTagMPE.h
"
77
78
79
//CIccFloatTag support
80
#ifdef USEREFICCMAXNAMESPACE
81
namespace
refIccMAX {
82
#endif
83
84
/**
85
****************************************************************************
86
* Class: CIccMpeAcs
87
*
88
* Purpose: The alternate connection space base class element
89
*****************************************************************************
90
*/
91
class
CIccMpeAcs
:
public
CIccMultiProcessElement
92
{
93
public
:
94
virtual
~CIccMpeAcs
();
95
virtual
void
Describe(std::string &sDescription,
int
nVerboseness);
96
97
virtual
bool
Read(
icUInt32Number
size,
CIccIO
*pIO);
98
virtual
bool
Write(
CIccIO
*pIO);
99
100
virtual
bool
Begin(
icElemInterp
nInterp,
CIccTagMultiProcessElement
*pMPE);
101
virtual
void
Apply(
CIccApplyMpe
*pApply,
icFloatNumber
*dstPixel,
const
icFloatNumber
*srcPixel)
const
;
102
103
virtual
icValidateStatus
Validate(std::string sigPath, std::string &sReport,
const
CIccTagMultiProcessElement
* pMPE=NULL,
const
CIccProfile* pProfile = NULL)
const
;
104
105
virtual
bool
IsAcs
() {
return
true
; }
106
107
bool
AllocData(
icUInt32Number
size);
108
icUInt8Number
*
GetData
() {
return
m_pData; }
109
icUInt32Number
GetDataSize
() {
return
m_nDataSize; }
110
111
virtual
icAcsSignature
GetAcsSig
() {
return
m_signature; }
112
113
protected
:
114
CIccMpeAcs
();
115
icAcsSignature
m_signature
;
116
117
icUInt32Number
m_nDataSize
;
118
icUInt8Number
*
m_pData
;
119
};
120
121
122
123
/**
124
****************************************************************************
125
* Class: CIccMpeBAcs
126
*
127
* Purpose: The bACS element
128
*****************************************************************************
129
*/
130
class
CIccMpeBAcs
:
public
CIccMpeAcs
131
{
132
public
:
133
CIccMpeBAcs
(
icUInt16Number
nChannels=0,
icAcsSignature
sig
= 0);
134
CIccMpeBAcs
(
const
CIccMpeBAcs
&elemAcs);
135
CIccMpeBAcs
&operator=(
const
CIccMpeBAcs
&elemAcs);
136
virtual
CIccMultiProcessElement
*
NewCopy
()
const
{
return
new
CIccMpeBAcs
(*
this
);}
137
virtual
~CIccMpeBAcs
();
138
139
virtual
icElemTypeSignature
GetType
()
const
{
return
icSigBAcsElemType
; }
140
virtual
const
icChar
*
GetClassName
()
const
{
return
"CIccMpeBAcs"
; }
141
142
virtual
icAcsSignature
GetBAcsSig
() {
return
m_signature; }
143
144
};
145
146
147
/**
148
****************************************************************************
149
* Class: CIccMpeEndAcs
150
*
151
* Purpose: The eAcs element
152
*****************************************************************************
153
*/
154
class
CIccMpeEAcs
:
public
CIccMpeAcs
155
{
156
public
:
157
CIccMpeEAcs
(
icUInt16Number
nChannels=0,
icAcsSignature
sig
= 0);
158
CIccMpeEAcs
(
const
CIccMpeEAcs
&elemAcs);
159
CIccMpeEAcs
&operator=(
const
CIccMpeEAcs
&elemAcs);
160
virtual
CIccMultiProcessElement
*
NewCopy
()
const
{
return
new
CIccMpeEAcs
(*
this
);}
161
virtual
~CIccMpeEAcs
();
162
163
virtual
icElemTypeSignature
GetType
()
const
{
return
icSigEAcsElemType
; }
164
virtual
const
icChar
*
GetClassName
()
const
{
return
"CIccMpeEAcs"
; }
165
166
virtual
icAcsSignature
GetEAcsSig
() {
return
m_signature;}
167
};
168
169
170
//CIccMPElements support
171
#ifdef USEREFICCMAXNAMESPACE
172
}
173
#endif
174
175
#endif
//_ICCMPEACS_H
sig
icArraySignature sig
Definition
IccArrayFactory.cpp:99
icFloatNumber
float icFloatNumber
All floating point operations/variables in IccProfLib use the icFloatNumber data type.
Definition
IccDefs.h:100
icChar
char icChar
Definition
IccDefs.h:109
icValidateStatus
icValidateStatus
Definition
IccDefs.h:118
IccTagMPE.h
File: IccTagMPE.h.
icElemInterp
icElemInterp
Definition
IccTagMPE.h:93
icUInt32Number
unsigned int icUInt32Number
Definition
TestParseText.cpp:32
CIccApplyMpe
Class: CIccApplyMpe.
Definition
IccTagMPE.h:203
CIccIO
Type: Class.
Definition
IccIO.h:97
CIccMpeAcs
Class: CIccMpeAcs.
Definition
IccMpeACS.h:92
CIccMpeAcs::GetAcsSig
virtual icAcsSignature GetAcsSig()
Definition
IccMpeACS.h:111
CIccMpeAcs::m_signature
icAcsSignature m_signature
Definition
IccMpeACS.h:115
CIccMpeAcs::GetDataSize
icUInt32Number GetDataSize()
Definition
IccMpeACS.h:109
CIccMpeAcs::IsAcs
virtual bool IsAcs()
Definition
IccMpeACS.h:105
CIccMpeAcs::GetData
icUInt8Number * GetData()
Definition
IccMpeACS.h:108
CIccMpeAcs::m_nDataSize
icUInt32Number m_nDataSize
Definition
IccMpeACS.h:117
CIccMpeAcs::m_pData
icUInt8Number * m_pData
Definition
IccMpeACS.h:118
CIccMpeBAcs
Class: CIccMpeBAcs.
Definition
IccMpeACS.h:131
CIccMpeBAcs::GetClassName
virtual const icChar * GetClassName() const
Definition
IccMpeACS.h:140
CIccMpeBAcs::NewCopy
virtual CIccMultiProcessElement * NewCopy() const
Definition
IccMpeACS.h:136
CIccMpeBAcs::GetBAcsSig
virtual icAcsSignature GetBAcsSig()
Definition
IccMpeACS.h:142
CIccMpeBAcs::GetType
virtual icElemTypeSignature GetType() const
Definition
IccMpeACS.h:139
CIccMpeEAcs
Class: CIccMpeEndAcs.
Definition
IccMpeACS.h:155
CIccMpeEAcs::GetEAcsSig
virtual icAcsSignature GetEAcsSig()
Definition
IccMpeACS.h:166
CIccMpeEAcs::NewCopy
virtual CIccMultiProcessElement * NewCopy() const
Definition
IccMpeACS.h:160
CIccMpeEAcs::GetType
virtual icElemTypeSignature GetType() const
Definition
IccMpeACS.h:163
CIccMpeEAcs::GetClassName
virtual const icChar * GetClassName() const
Definition
IccMpeACS.h:164
CIccMultiProcessElement
Class: CIccMultiProcessElement.
Definition
IccTagMPE.h:146
CIccTagMultiProcessElement
Class: CIccTagMultiProcessElement.
Definition
IccTagMPE.h:358
icUInt8Number
unsigned char icUInt8Number
Number definitions.
Definition
icProfileHeader.h:250
icAcsSignature
icSignature icAcsSignature
MPE Future Extension Acs signature.
Definition
icProfileHeader.h:1097
icUInt16Number
unsigned short icUInt16Number
Definition
icProfileHeader.h:256
icElemTypeSignature
icElemTypeSignature
Multi-Processing Element type signatures.
Definition
icProfileHeader.h:641
icSigBAcsElemType
@ icSigBAcsElemType
Definition
icProfileHeader.h:646
icSigEAcsElemType
@ icSigEAcsElemType
Definition
icProfileHeader.h:647
IccProfLib
IccMpeACS.h
Generated on Sun Jun 2 2024 07:45:59 for Hoyt's FORK of DemoIccMAX by
1.11.0