SampleICC Main srcforge
Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

IccProfLibConf.h

Go to the documentation of this file.
00001 
00011 /*
00012  * The ICC Software License, Version 0.1
00013  *
00014  *
00015  * Copyright (c) 2003-2006 The International Color Consortium. All rights 
00016  * reserved.
00017  *
00018  * Redistribution and use in source and binary forms, with or without
00019  * modification, are permitted provided that the following conditions
00020  * are met:
00021  *
00022  * 1. Redistributions of source code must retain the above copyright
00023  *    notice, this list of conditions and the following disclaimer. 
00024  *
00025  * 2. Redistributions in binary form must reproduce the above copyright
00026  *    notice, this list of conditions and the following disclaimer in
00027  *    the documentation and/or other materials provided with the
00028  *    distribution.
00029  *
00030  * 3. The end-user documentation included with the redistribution,
00031  *    if any, must include the following acknowledgment:  
00032  *       "This product includes software developed by the
00033  *        The International Color Consortium (www.color.org)"
00034  *    Alternately, this acknowledgment may appear in the software itself,
00035  *    if and wherever such third-party acknowledgments normally appear.
00036  *
00037  * 4. In the absence of prior written permission, the names "ICC" and "The
00038  *    International Color Consortium" must not be used to imply that the
00039  *    ICC organization endorses or promotes products derived from this
00040  *    software.
00041  *
00042  *
00043  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
00044  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
00045  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00046  * DISCLAIMED.  IN NO EVENT SHALL THE INTERNATIONAL COLOR CONSORTIUM OR
00047  * ITS CONTRIBUTING MEMBERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
00048  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
00049  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
00050  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
00051  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00052  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
00053  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
00054  * SUCH DAMAGE.
00055  * ====================================================================
00056  *
00057  * This software consists of voluntary contributions made by many
00058  * individuals on behalf of the The International Color Consortium. 
00059  *
00060  *
00061  * Membership in the ICC is encouraged when this software is used for
00062  * commercial purposes. 
00063  *
00064  *  
00065  * For more information on The International Color Consortium, please
00066  * see <http://www.color.org/>.
00067  *  
00068  * 
00069  */
00070 
00071 /* Header file guard bands */
00072 #ifndef ICCCONFIG_h
00073 #define ICCCONFIG_h
00074 
00075 //Define the following to use namespace
00076 //#define USESAMPLEICCNAMESPACE
00077 
00078 #ifdef USESAMPLEICCNAMESPACE
00079 namespace sampleICC {
00080 #endif
00081 
00082 //PC, visual C++
00083 #if defined(_MSC_VER) && !defined(__MWERKS__) && defined(_M_IX86)
00084 
00085   //Define how 64 bit integers are represented
00086   #define ICCUINT64 unsigned __int64
00087   #define ICCINT64 __int64
00088   #define ICUINT64TYPE unsigned __int64
00089   #define ICINT64TYPE __int64
00090 
00091   #define USE_WINDOWS_MB_SUPPORT
00092   #define WIN32_LEAN_AND_MEAN    // Exclude rarely-used stuff from Windows headers
00093   //#include <windows.h> //For Multibyte Translation Support
00094 
00095   #define ICC_BYTE_ORDER_LITTLE_ENDIAN
00096 
00097   #if defined(ICCPROFLIBDLL_EXPORTS)
00098     #define ICCPROFLIB_API _declspec(dllexport)
00099     #define ICCPROFLIB_EXTERN
00100   #elif defined(ICCPROFLIBDLL_IMPORTS)
00101     #define ICCPROFLIB_API _declspec(dllimport)
00102     #define ICCPROFLIB_EXTERN extern
00103   #else //just a regular lib
00104     #define ICCPROFLIB_API
00105     #define ICCPROFLIB_EXTERN
00106   #endif
00107 
00108 #else // non-PC, perhaps Mac or Linux
00109 
00110   #define ICCUINT64 unsigned long long
00111   #define ICCINT64  long long
00112   #define ICUINT64TYPE unsigned long long
00113   #define ICINT64TYPE long long
00114 
00115   #if defined(__APPLE__)
00116     #if  defined(__LITTLE_ENDIAN__)
00117       #define ICC_BYTE_ORDER_LITTLE_ENDIAN
00118     #else
00119       #define ICC_BYTE_ORDER_BIG_ENDIAN
00120     #endif
00121   #else
00122     #define ICC_BYTE_ORDER_LITTLE_ENDIAN
00123   #endif
00124 
00125   #define ICCPROFLIB_API
00126   #define ICCPROFLIB_EXTERN
00127   #define stricmp strcasecmp
00128 
00129 #endif
00130 
00131 // remove comment below if you want LAB to XYZ conversions to not clip negative XYZ values
00132 //#define SAMPLEICC_NOCLIPLABTOXYZ
00133 
00134 #ifdef SAMPLEICCCMM_EXPORTS
00135 #define MAKE_A_DLL
00136 #endif
00137 
00138 #ifdef MAKE_A_DLL
00139 #define SAMPLEICCEXPORT __declspec( dllexport)
00140 #else
00141 #define SAMPLEICCEXPORT __declspec( dllimport)
00142 #endif
00143 
00144 #ifdef USESAMPLEICCNAMESPACE
00145 }
00146 #endif
00147 
00148 #endif //ICCCOFIG_h

Generated on Tue Jun 26 17:51:43 2007 for IccProfLib by  doxygen 1.3.9.1