Hoyt's FORK of DemoIccMAX
2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
IccEnvVar.h
Go to the documentation of this file.
1
/** @file
2
File: IccEnvVar.h
3
4
Contains: Header for implementation of the IIccCmmEnvVarLookup interface class.
5
6
Version: V1
7
8
Copyright: (c) see ICC Software License
9
*/
10
11
/*
12
* The ICC Software License, Version 0.2
13
*
14
*
15
* Copyright (c) 2003-2016 The International Color Consortium. All rights
16
* reserved.
17
*
18
* Redistribution and use in source and binary forms, with or without
19
* modification, are permitted provided that the following conditions
20
* are met:
21
*
22
* 1. Redistributions of source code must retain the above copyright
23
* notice, this list of conditions and the following disclaimer.
24
*
25
* 2. Redistributions in binary form must reproduce the above copyright
26
* notice, this list of conditions and the following disclaimer in
27
* the documentation and/or other materials provided with the
28
* distribution.
29
*
30
* 3. In the absence of prior written permission, the names "ICC" and "The
31
* International Color Consortium" must not be used to imply that the
32
* ICC organization endorses or promotes products derived from this
33
* software.
34
*
35
*
36
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
37
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
38
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39
* DISCLAIMED. IN NO EVENT SHALL THE INTERNATIONAL COLOR CONSORTIUM OR
40
* ITS CONTRIBUTING MEMBERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
42
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
43
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
44
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
45
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
46
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
47
* SUCH DAMAGE.
48
* ====================================================================
49
*
50
* This software consists of voluntary contributions made by many
51
* individuals on behalf of the The International Color Consortium.
52
*
53
*
54
* Membership in the ICC is encouraged when this software is used for
55
* commercial purposes.
56
*
57
*
58
* For more information on The International Color Consortium, please
59
* see <http://www.color.org/>.
60
*
61
*
62
*/
63
64
//////////////////////////////////////////////////////////////////////
65
// HISTORY:
66
//
67
// -Initial implementation by Max Derhak 3-1-2016
68
//
69
//////////////////////////////////////////////////////////////////////
70
71
#if !defined(_ICCENVVAR_H)
72
#define _ICCENVVAR_H
73
74
#include "
IccDefs.h
"
75
#include "
IccCmm.h
"
76
#include <map>
77
78
#ifdef USEREFICCMAXNAMESPACE
79
namespace
refIccMAX {
80
#endif
81
82
83
typedef
std::map<icSignature, icFloatNumber>
icCmmEnvSigMap
;
84
85
class
ICCPROFLIB_API
CIccCmmVarLookup
:
public
IIccCmmEnvVarLookup
86
{
87
public
:
88
CIccCmmVarLookup
(
icCmmEnvSigMap
&map);
89
virtual
~CIccCmmVarLookup
();
90
91
virtual
bool
GetEnvVar(
icSigCmmEnvVar
sig
,
icFloatNumber
&val);
92
virtual
bool
IndexedEnvVar(
icUInt32Number
nIndex,
icSigCmmEnvVar
&
sig
,
icFloatNumber
&val);
93
protected
:
94
icCmmEnvSigMap
*
m_map
;
95
};
96
97
class
ICCPROFLIB_API
CIccCmmEnvVarHint
:
public
CIccCreateCmmEnvVarXformHint
98
{
99
public
:
100
CIccCmmEnvVarHint
(
icCmmEnvSigMap
&map);
101
virtual
~CIccCmmEnvVarHint
();
102
103
virtual
IIccCmmEnvVarLookup
*
GetNewCmmEnvVarLookup
()
const
{
return
new
CIccCmmVarLookup
(*m_map);}
104
105
protected
:
106
icCmmEnvSigMap
*
m_map
;
107
};
108
109
class
ICCPROFLIB_API
CIccCmmPccEnvVarHint
:
public
CIccCreateCmmPccEnvVarXformHint
110
{
111
public
:
112
CIccCmmPccEnvVarHint
(
icCmmEnvSigMap
& map);
113
virtual
~CIccCmmPccEnvVarHint
();
114
115
virtual
IIccCmmEnvVarLookup
*
GetNewCmmEnvVarLookup
()
const
{
return
new
CIccCmmVarLookup
(*m_map); }
116
117
protected
:
118
icCmmEnvSigMap
*
m_map
;
119
};
120
121
122
#ifdef USEREFICCMAXNAMESPACE
123
}
//namespace refIccMAX
124
#endif
125
126
#endif
// !defined(_ICCPCC_H)
sig
icArraySignature sig
Definition
IccArrayFactory.cpp:99
IccCmm.h
File: IccCmm.h.
IccDefs.h
File: IccDefs.h
icFloatNumber
float icFloatNumber
All floating point operations/variables in IccProfLib use the icFloatNumber data type.
Definition
IccDefs.h:100
icCmmEnvSigMap
std::map< icSignature, icFloatNumber > icCmmEnvSigMap
Definition
IccEnvVar.h:83
ICCPROFLIB_API
#define ICCPROFLIB_API
Definition
IccProfLibConf.h:147
icUInt32Number
unsigned int icUInt32Number
Definition
TestParseText.cpp:32
CIccCmmEnvVarHint
Definition
IccEnvVar.h:98
CIccCmmEnvVarHint::GetNewCmmEnvVarLookup
virtual IIccCmmEnvVarLookup * GetNewCmmEnvVarLookup() const
Definition
IccEnvVar.h:103
CIccCmmEnvVarHint::m_map
icCmmEnvSigMap * m_map
Definition
IccEnvVar.h:106
CIccCmmPccEnvVarHint
Definition
IccEnvVar.h:110
CIccCmmPccEnvVarHint::GetNewCmmEnvVarLookup
virtual IIccCmmEnvVarLookup * GetNewCmmEnvVarLookup() const
Definition
IccEnvVar.h:115
CIccCmmPccEnvVarHint::m_map
icCmmEnvSigMap * m_map
Definition
IccEnvVar.h:118
CIccCmmVarLookup
Definition
IccEnvVar.h:86
CIccCmmVarLookup::m_map
icCmmEnvSigMap * m_map
Definition
IccEnvVar.h:94
IIccCmmEnvVarLookup
Type: Class.
Definition
IccUtil.h:401
icSigCmmEnvVar
icSigCmmEnvVar
Definition
icProfileHeader.h:631
IccProfLib
IccEnvVar.h
Generated on Sun Jun 2 2024 07:45:59 for Hoyt's FORK of DemoIccMAX by
1.11.0