00001 00010 /* 00011 * The ICC Software License, Version 0.1 00012 * 00013 * 00014 * Copyright (c) 2003-2006 The International Color Consortium. All rights 00015 * reserved. 00016 * 00017 * Redistribution and use in source and binary forms, with or without 00018 * modification, are permitted provided that the following conditions 00019 * are met: 00020 * 00021 * 1. Redistributions of source code must retain the above copyright 00022 * notice, this list of conditions and the following disclaimer. 00023 * 00024 * 2. Redistributions in binary form must reproduce the above copyright 00025 * notice, this list of conditions and the following disclaimer in 00026 * the documentation and/or other materials provided with the 00027 * distribution. 00028 * 00029 * 3. The end-user documentation included with the redistribution, 00030 * if any, must include the following acknowledgment: 00031 * "This product includes software developed by the 00032 * The International Color Consortium (www.color.org)" 00033 * Alternately, this acknowledgment may appear in the software itself, 00034 * if and wherever such third-party acknowledgments normally appear. 00035 * 00036 * 4. In the absence of prior written permission, the names "ICC" and "The 00037 * International Color Consortium" must not be used to imply that the 00038 * ICC organization endorses or promotes products derived from this 00039 * software. 00040 * 00041 * 00042 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 00043 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 00044 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00045 * DISCLAIMED. IN NO EVENT SHALL THE INTERNATIONAL COLOR CONSORTIUM OR 00046 * ITS CONTRIBUTING MEMBERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00047 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00048 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 00049 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 00050 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00051 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 00052 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 00053 * SUCH DAMAGE. 00054 * ==================================================================== 00055 * 00056 * This software consists of voluntary contributions made by many 00057 * individuals on behalf of the The International Color Consortium. 00058 * 00059 * 00060 * Membership in the ICC is encouraged when this software is used for 00061 * commercial purposes. 00062 * 00063 * 00064 * For more information on The International Color Consortium, please 00065 * see <http://www.color.org/>. 00066 * 00067 * 00068 */ 00069 00070 00071 00072 00073 /* Header file guard bands */ 00074 #ifndef _ICCDEFS_H 00075 #define _ICCDEFS_H 00076 00077 #pragma pack(4) 00078 00079 //Get any platform specific prototypes 00080 #include "IccProfLibConf.h" 00081 00082 #ifdef USESAMPLEICCNAMESPACE 00083 namespace sampleICC { 00084 #endif 00085 00086 //Include the standard icProfileHeader definition file 00087 #include "icProfileHeader.h" 00088 00089 // Define signature for SampleICC's use 00090 #define icSigSampleICC ((icSignature)0x53494343) /* 'SICC' */ 00091 00092 //Definitions used for conversion of fixed floating point numbers 00093 typedef icUInt16Number icU1Fixed15Number; 00094 typedef icUInt16Number icU8Fixed8Number; 00095 00096 00103 #define icSigDevLabData ((icColorSpaceSignature) 0x644C6162) /* 'dLab' */ 00104 #define icSigDevXYZData ((icColorSpaceSignature) 0x6458595A) /* 'dXYZ' */ 00105 00106 00112 typedef float icFloatNumber; 00113 00117 #define ICFLOATSFX "f" 00118 #define ICFLOATFMT "%f" 00119 00120 /* For string operations */ 00121 typedef char icChar; 00122 00123 /* Validation Status values */ 00124 typedef enum { 00125 icValidateOK, /*Profile is valid and conforms to specification*/ 00126 icValidateWarning, /*Profile conforms to specification with concerns*/ 00127 icValidateNonCompliant, /*Profile does not conform to specification, but may still be useable*/ 00128 icValidateCriticalError, /*Profile does not conform to specification and is not useable*/ 00129 } icValidateStatus; 00130 00131 00132 #pragma pack() 00133 00134 #ifdef USESAMPLEICCNAMESPACE 00135 } //namespace sampleICC 00136 #endif 00137 00138 #endif /* _ICCDEFS_H */ 00139 00140 00141