Hoyt's FORK of DemoIccMAX
2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
IccDefs.h
Go to the documentation of this file.
1
/** @file
2
File: IccDefs.h
3
4
Contains: Access ICC profile definitions and structures including
5
Version 4 extensions
6
7
Copyright: (c) see ICC Software License
8
*/
9
10
/*
11
* The ICC Software License, Version 0.2
12
*
13
*
14
* Copyright (c) 2003-2012 The International Color Consortium. All rights
15
* reserved.
16
*
17
* Redistribution and use in source and binary forms, with or without
18
* modification, are permitted provided that the following conditions
19
* are met:
20
*
21
* 1. Redistributions of source code must retain the above copyright
22
* notice, this list of conditions and the following disclaimer.
23
*
24
* 2. Redistributions in binary form must reproduce the above copyright
25
* notice, this list of conditions and the following disclaimer in
26
* the documentation and/or other materials provided with the
27
* distribution.
28
*
29
* 3. In the absence of prior written permission, the names "ICC" and "The
30
* International Color Consortium" must not be used to imply that the
31
* ICC organization endorses or promotes products derived from this
32
* software.
33
*
34
*
35
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
36
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
37
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
38
* DISCLAIMED. IN NO EVENT SHALL THE INTERNATIONAL COLOR CONSORTIUM OR
39
* ITS CONTRIBUTING MEMBERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
41
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
42
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
43
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
44
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
45
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
46
* SUCH DAMAGE.
47
* ====================================================================
48
*
49
* This software consists of voluntary contributions made by many
50
* individuals on behalf of the The International Color Consortium.
51
*
52
*
53
* Membership in the ICC is encouraged when this software is used for
54
* commercial purposes.
55
*
56
*
57
* For more information on The International Color Consortium, please
58
* see <http://www.color.org/>.
59
*
60
*
61
*/
62
63
#include <stddef.h>
64
65
/* Header file guard bands */
66
#ifndef _ICCDEFS_H
67
#define _ICCDEFS_H
68
69
#pragma pack(4)
70
71
//Get any platform specific prototypes
72
#include "
IccProfLibConf.h
"
73
74
#ifdef USEREFICCMAXNAMESPACE
75
namespace
refIccMAX {
76
#endif
77
78
//Include the standard icProfileHeader definition file
79
#include "
icProfileHeader.h
"
80
81
//Definitions used for conversion of fixed floating point numbers
82
typedef
icUInt16Number
icU1Fixed15Number
;
83
typedef
icUInt16Number
icU8Fixed8Number
;
84
85
/**
86
* Additional convenience color space signatures to distinguish between device
87
* encoding and PCS encoding.
88
*
89
* Device encoding of these color spaces is left to the device to define.
90
*/
91
#define icSigDevLabData ((icColorSpaceSignature) 0x644C6162)
/* 'dLab' */
92
#define icSigDevXYZData ((icColorSpaceSignature) 0x6458595A)
/* 'dXYZ' */
93
94
95
/**
96
* All floating point operations/variables in IccProfLib use the icFloatNumber data type.
97
* It was found that using float instead of double increased performance. Changing
98
* the definition to double will add greater precision at the cost of performance.
99
*/
100
typedef
float
icFloatNumber
;
101
102
/** String formating macros need to match precision of icFloatNumber
103
*If precision is double change the "f" below to "lf"
104
*/
105
#define ICFLOATSFX "f"
106
#define ICFLOATFMT "%f"
107
108
/* For string operations */
109
typedef
char
icChar
;
110
typedef
unsigned
char
icUChar
;
/*For Utf8 encoding*/
111
typedef
unsigned
short
icUChar16
;
/*For Utf16 encoding*/
112
113
#ifdef WIN32
114
typedef
wchar_t
icWChar;
115
#endif
116
117
/* Validation Status values */
118
typedef
enum
{
119
icValidateOK
,
/*Profile is valid and conforms to specification*/
120
icValidateWarning
,
/*Profile conforms to specification with concerns*/
121
icValidateNonCompliant
,
/*Profile does not conform to specification, but may still be useable*/
122
icValidateCriticalError
,
/*Profile does not conform to specification and is not useable*/
123
}
icValidateStatus
;
124
125
126
#pragma pack()
127
128
#ifdef USEREFICCMAXNAMESPACE
129
}
//namespace refIccMAX
130
#endif
131
132
#endif
/* _ICCDEFS_H */
133
134
135
icUChar
unsigned char icUChar
Definition
IccDefs.h:110
icFloatNumber
float icFloatNumber
All floating point operations/variables in IccProfLib use the icFloatNumber data type.
Definition
IccDefs.h:100
icU1Fixed15Number
icUInt16Number icU1Fixed15Number
Definition
IccDefs.h:82
icU8Fixed8Number
icUInt16Number icU8Fixed8Number
Definition
IccDefs.h:83
icChar
char icChar
Definition
IccDefs.h:109
icUChar16
unsigned short icUChar16
Definition
IccDefs.h:111
icValidateStatus
icValidateStatus
Definition
IccDefs.h:118
icValidateOK
@ icValidateOK
Definition
IccDefs.h:119
icValidateWarning
@ icValidateWarning
Definition
IccDefs.h:120
icValidateCriticalError
@ icValidateCriticalError
Definition
IccDefs.h:122
icValidateNonCompliant
@ icValidateNonCompliant
Definition
IccDefs.h:121
IccProfLibConf.h
File: IccProfLibConf.h.
icProfileHeader.h
File: icProfileHeader.h.
icUInt16Number
unsigned short icUInt16Number
Definition
icProfileHeader.h:256
IccProfLib
IccDefs.h
Generated on Sun Jun 2 2024 07:45:59 for Hoyt's FORK of DemoIccMAX by
1.11.0