Eneboo - Documentación para desarrolladores
|
00001 /* ************************************************************************** */ 00002 /* * * */ 00003 /* * project : libmng * */ 00004 /* * file : libmng_conf.h copyright (c) 2000 G.Juyn * */ 00005 /* * version : 1.0.4 * */ 00006 /* * * */ 00007 /* * purpose : main configuration file * */ 00008 /* * * */ 00009 /* * author : G.Juyn * */ 00010 /* * web : http://www.3-t.com * */ 00011 /* * email : mailto:info@3-t.com * */ 00012 /* * * */ 00013 /* * comment : The configuration file. Change this to include/exclude * */ 00014 /* * the options you want or do not want in libmng. * */ 00015 /* * * */ 00016 /* * changes : 0.5.2 - 06/02/2000 - G.Juyn * */ 00017 /* * - separated configuration-options into this file * */ 00018 /* * - changed to most likely configuration (?) * */ 00019 /* * 0.5.2 - 06/03/2000 - G.Juyn * */ 00020 /* * - changed options to create a standard so-library * */ 00021 /* * with everything enabled * */ 00022 /* * 0.5.2 - 06/04/2000 - G.Juyn * */ 00023 /* * - changed options to create a standard win32-dll * */ 00024 /* * with everything enabled * */ 00025 /* * * */ 00026 /* * 0.9.2 - 08/05/2000 - G.Juyn * */ 00027 /* * - changed file-prefixes * */ 00028 /* * * */ 00029 /* * 0.9.3 - 08/12/2000 - G.Juyn * */ 00030 /* * - added workaround for faulty PhotoShop iCCP chunk * */ 00031 /* * 0.9.3 - 09/16/2000 - G.Juyn * */ 00032 /* * - removed trace-options from default SO/DLL builds * */ 00033 /* * * */ 00034 /* * 1.0.4 - 06/22/2002 - G.Juyn * */ 00035 /* * - B526138 - returned IJGSRC6B calling convention to * */ 00036 /* * default for MSVC * */ 00037 /* * * */ 00038 /* ************************************************************************** */ 00039 00040 00041 #if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI) 00042 #pragma option -A /* force ANSI-C */ 00043 #endif 00044 00045 #ifndef _libmng_conf_h_ 00046 #define _libmng_conf_h_ 00047 00048 /* ************************************************************************** */ 00049 /* * * */ 00050 /* * User-selectable compile-time options * */ 00051 /* * * */ 00052 /* ************************************************************************** */ 00053 00054 /* enable exactly one(1) of the MNG-(sub)set selectors */ 00055 /* use this to select which (sub)set of the MNG specification you wish 00056 to support */ 00057 /* generally you'll want full support as the library provides it automatically 00058 for you! if you're really strung on memory-requirements you can opt 00059 to enable less support (but it's just NOT a good idea!) */ 00060 /* NOTE that this isn't actually implemented yet */ 00061 00062 #if !defined(MNG_SUPPORT_FULL) && !defined(MNG_SUPPORT_LC) && !defined(MNG_SUPPORT_VLC) 00063 #define MNG_SUPPORT_FULL 00064 /* #define MNG_SUPPORT_LC */ 00065 /* #define MNG_SUPPORT_VLC */ 00066 #endif 00067 00068 /* ************************************************************************** */ 00069 00070 /* enable JPEG support if required */ 00071 /* use this to enable the JNG support routines */ 00072 /* this requires an external jpeg package; 00073 currently only IJG's jpgsrc6b is supported! */ 00074 /* NOTE that the IJG code can be either 8- or 12-bit (eg. not both); 00075 so choose the one you've defined in jconfig.h; if you don't know what 00076 the heck I'm talking about, just leave it at 8-bit support (thank you!) */ 00077 00078 #ifdef MNG_SUPPORT_FULL /* full support includes JNG */ 00079 #define MNG_SUPPORT_IJG6B 00080 #endif 00081 00082 #ifndef MNG_SUPPORT_IJG6B 00083 #if defined(MNG_BUILD_SO) || defined(MNG_USE_SO) || defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL) 00084 #define MNG_SUPPORT_IJG6B 00085 #endif 00086 #endif 00087 00088 #if defined(MNG_SUPPORT_IJG6B) && !defined(MNG_SUPPORT_JPEG8) && !defined(MNG_SUPPORT_JPEG12) 00089 #define MNG_SUPPORT_JPEG8 00090 /* #define MNG_SUPPORT_JPEG12 */ 00091 #endif 00092 00093 /* The following is required to export the IJG routines from the DLL in 00094 the Windows-standard calling convention; 00095 currently this only works for Borland C++ !!! */ 00096 00097 #if defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL) 00098 #if defined(MNG_SUPPORT_IJG6B) && defined(__BORLANDC__) 00099 #define MNG_DEFINE_JPEG_STDCALL 00100 #endif 00101 #endif 00102 00103 /* ************************************************************************** */ 00104 00105 /* enable required high-level functions */ 00106 /* use this to select the high-level functions you require */ 00107 /* if you only need to display a MNG, disable write support! */ 00108 /* if you only need to examine a MNG, disable write & display support! */ 00109 /* if you only need to copy a MNG, disable display support! */ 00110 /* if you only need to create a MNG, disable read & display support! */ 00111 /* NOTE that turning all options off will be very unuseful! */ 00112 00113 #if !defined(MNG_SUPPORT_READ) && !defined(MNG_SUPPORT_WRITE) && !defined(MNG_SUPPORT_DISPLAY) 00114 #define MNG_SUPPORT_READ 00115 #if defined(MNG_BUILD_SO) || defined(MNG_USE_SO) || defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL) 00116 #define MNG_SUPPORT_WRITE 00117 #endif 00118 #define MNG_SUPPORT_DISPLAY 00119 #endif 00120 00121 /* ************************************************************************** */ 00122 00123 /* enable chunk access functions */ 00124 /* use this to select whether you need access to the individual chunks */ 00125 /* useful if you want to examine a read MNG (you'll also need MNG_STORE_CHUNKS !)*/ 00126 /* required if you need to create & write a new MNG! */ 00127 00128 #ifndef MNG_ACCESS_CHUNKS 00129 #if defined(MNG_BUILD_SO) || defined(MNG_USE_SO) || defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL) 00130 #define MNG_ACCESS_CHUNKS 00131 #endif 00132 #endif 00133 00134 /* ************************************************************************** */ 00135 00136 /* enable exactly one of the color-management-functionality selectors */ 00137 /* use this to select the level of automatic color support */ 00138 /* MNG_FULL_CMS requires the lcms (little cms) external package ! */ 00139 /* if you want your own app (or the OS) to handle color-management 00140 select MNG_APP_CMS */ 00141 00142 #if !defined(MNG_FULL_CMS) && !defined(MNG_GAMMA_ONLY) && !defined(MNG_NO_CMS) && !defined(MNG_APP_CMS) 00143 #if defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL) 00144 #define MNG_FULL_CMS 00145 #else 00146 #define MNG_GAMMA_ONLY 00147 #endif 00148 /* #define MNG_NO_CMS */ 00149 /* #define MNG_APP_CMS */ 00150 #endif 00151 00152 /* ************************************************************************** */ 00153 00154 /* enable automatic dithering */ 00155 /* use this if you need dithering support to convert high-resolution 00156 images to a low-resolution output-device */ 00157 /* NOTE that this is not supported yet */ 00158 00159 /* #define MNG_AUTO_DITHER */ 00160 00161 /* ************************************************************************** */ 00162 00163 /* enable whether chunks should be stored for reference later */ 00164 /* use this if you need to examine the chunks of a MNG you have read, 00165 or (re-)write a MNG you have read */ 00166 /* turn this off if you want to reduce memory-consumption */ 00167 00168 #ifndef MNG_STORE_CHUNKS 00169 #if defined(MNG_BUILD_SO) || defined(MNG_USE_SO) || defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL) 00170 #define MNG_STORE_CHUNKS 00171 #endif 00172 #endif 00173 00174 /* ************************************************************************** */ 00175 00176 /* enable internal memory management (if your compiler supports it) */ 00177 /* use this if your compiler supports the 'standard' memory functions 00178 (calloc & free), and you want the library to use these functions and not 00179 bother your app with memory-callbacks */ 00180 00181 /* #define MNG_INTERNAL_MEMMNGMT */ 00182 00183 /* ************************************************************************** */ 00184 00185 /* enable internal tracing-functionality (manual debugging purposes) */ 00186 /* use this if you have trouble location bugs or problems */ 00187 /* NOTE that you'll need to specify the trace callback function! */ 00188 00189 /* #define MNG_SUPPORT_TRACE */ 00190 00191 /* ************************************************************************** */ 00192 00193 /* enable extended error- and trace-telltaling */ 00194 /* use this if you need explanatory messages with errors and/or tracing */ 00195 00196 #if !defined(MNG_ERROR_TELLTALE) && !defined(MNG_TRACE_TELLTALE) 00197 #if defined(MNG_BUILD_SO) || defined(MNG_USE_SO) || defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL) 00198 #define MNG_ERROR_TELLTALE 00199 #define MNG_TRACE_TELLTALE 00200 #endif 00201 #endif 00202 00203 /* ************************************************************************** */ 00204 00205 /* enable big-endian support */ 00206 /* enable this if you're on an architecture that supports big-endian reads 00207 and writes that aren't word-aligned */ 00208 /* according to reliable sources this only works for PowerPC (bigendian mode) 00209 and 680x0 */ 00210 00211 /* #define MNG_BIGENDIAN_SUPPORTED */ 00212 00213 /* ************************************************************************** */ 00214 /* * * */ 00215 /* * End of user-selectable compile-time options * */ 00216 /* * * */ 00217 /* ************************************************************************** */ 00218 00219 #endif /* _libmng_conf_h_ */ 00220 00221 /* ************************************************************************** */ 00222 /* * end of file * */ 00223 /* ************************************************************************** */ 00224