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
79namespace refIccMAX {
80#endif
81
82
83typedef std::map<icSignature, icFloatNumber> icCmmEnvSigMap;
84
86{
87public:
89 virtual ~CIccCmmVarLookup();
90
91 virtual bool GetEnvVar(icSigCmmEnvVar sig, icFloatNumber &val);
92 virtual bool IndexedEnvVar(icUInt32Number nIndex, icSigCmmEnvVar &sig, icFloatNumber &val);
93protected:
95};
96
97class ICCPROFLIB_API CIccCmmEnvVarHint : public CIccCreateCmmEnvVarXformHint
98{
99public:
101 virtual ~CIccCmmEnvVarHint();
102
103 virtual IIccCmmEnvVarLookup *GetNewCmmEnvVarLookup() const { return new CIccCmmVarLookup(*m_map);}
104
105protected:
107};
108
109class ICCPROFLIB_API CIccCmmPccEnvVarHint : public CIccCreateCmmPccEnvVarXformHint
110{
111public:
113 virtual ~CIccCmmPccEnvVarHint();
114
115 virtual IIccCmmEnvVarLookup* GetNewCmmEnvVarLookup() const { return new CIccCmmVarLookup(*m_map); }
116
117protected:
119};
120
121
122#ifdef USEREFICCMAXNAMESPACE
123} //namespace refIccMAX
124#endif
125
126#endif // !defined(_ICCPCC_H)
icArraySignature sig
File: IccCmm.h.
File: IccDefs.h
float icFloatNumber
All floating point operations/variables in IccProfLib use the icFloatNumber data type.
Definition IccDefs.h:100
std::map< icSignature, icFloatNumber > icCmmEnvSigMap
Definition IccEnvVar.h:83
#define ICCPROFLIB_API
unsigned int icUInt32Number
virtual IIccCmmEnvVarLookup * GetNewCmmEnvVarLookup() const
Definition IccEnvVar.h:103
icCmmEnvSigMap * m_map
Definition IccEnvVar.h:106
virtual IIccCmmEnvVarLookup * GetNewCmmEnvVarLookup() const
Definition IccEnvVar.h:115
icCmmEnvSigMap * m_map
Definition IccEnvVar.h:118
icCmmEnvSigMap * m_map
Definition IccEnvVar.h:94
Type: Class.
Definition IccUtil.h:401
icSigCmmEnvVar