1 //----------------------------------------------------------------------------- 2 // 3 // ImageLib Sources 4 // Copyright (C) 2000-2009 by Denton Woods 5 // Last modified: 03/01/2009 6 // 7 // Filename: src-IL/include/il_internal.h 8 // 9 // Description: Internal stuff for DevIL 10 // 11 //----------------------------------------------------------------------------- 12 #ifndef INTERNAL_H 13 #define INTERNAL_H 14 #define _IL_BUILD_LIBRARY 15 16 17 // Local headers 18 /*#if (defined(_WIN32) || defined(_WIN64)) && !defined(HAVE_CONFIG_H) 19 #define HAVE_CONFIG_H 20 #endif*/ 21 #ifdef HAVE_CONFIG_H //if we use autotools, we have HAVE_CONFIG_H defined and we have to look for it like that 22 #include <config.h> 23 #else // If we do not use autotools, we have to point to (possibly different) config.h than in the opposite case 24 #include <IL/config.h> 25 #endif 26 27 // Standard headers 28 #include <stdlib.h> 29 #include <stdio.h> 30 #include <math.h> 31 #include <string.h> 32 33 #ifdef __cplusplus 34 extern "C" { 35 #endif 36 37 #include <IL/il.h> 38 #include <IL/devil_internal_exports.h> 39 #include "il_files.h" 40 #include "il_endian.h" 41 42 #ifndef _WIN32 43 // The Microsoft HD Photo Device Porting Kit has not been ported to anything other 44 // than Windows yet, so we disable this if Windows is not the current platform. 45 #define IL_NO_WDP 46 #endif//_WIN32 47 48 // If we do not want support for game image formats, this define removes them all. 49 #ifdef IL_NO_GAMES 50 #define IL_NO_BLP 51 #define IL_NO_DOOM 52 #define IL_NO_FTX 53 #define IL_NO_IWI 54 #define IL_NO_LIF 55 #define IL_NO_MDL 56 #define IL_NO_ROT 57 #define IL_NO_TPL 58 #define IL_NO_UTX 59 #define IL_NO_WAL 60 #endif//IL_NO_GAMES 61 62 // If we want to compile without support for formats supported by external libraries, 63 // this define will remove them all. 64 #ifdef IL_NO_EXTLIBS 65 #define IL_NO_EXR 66 #define IL_NO_JP2 67 #define IL_NO_JPG 68 #define IL_NO_LCMS 69 #define IL_NO_MNG 70 #define IL_NO_PNG 71 #define IL_NO_TIF 72 #define IL_NO_WDP 73 #undef IL_USE_DXTC_NVIDIA 74 #undef IL_USE_DXTC_SQUISH 75 #endif//IL_NO_EXTLIBS 76 77 // Windows-specific 78 #ifdef _WIN32 79 #ifdef _MSC_VER 80 #if _MSC_VER > 1000 81 #pragma once 82 #pragma intrinsic(memcpy) 83 #pragma intrinsic(memset) 84 #pragma intrinsic(strcmp) 85 #pragma intrinsic(strlen) 86 #pragma intrinsic(strcpy) 87 88 #if _MSC_VER >= 1300 89 #pragma warning(disable : 4996) // MSVC++ 8/9 deprecation warnings 90 #endif 91 #endif // _MSC_VER > 1000 92 #endif 93 #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 94 #include <windows.h> 95 #endif//_WIN32 96 97 #ifdef _UNICODE 98 #define IL_TEXT(s) L##s 99 #ifndef _WIN32 // At least in Linux, fopen works fine, and wcsicmp is not defined. 100 #define wcsicmp wcsncasecmp 101 #define _wcsicmp wcsncasecmp 102 #define _wfopen fopen 103 #endif 104 #define iStrCpy wcscpy 105 #else 106 #define IL_TEXT(s) (s) 107 #define iStrCpy strcpy 108 #endif 109 110 #ifdef IL_INLINE_ASM 111 #if (defined (_MSC_VER) && defined(_WIN32)) // MSVC++ only 112 #define USE_WIN32_ASM 113 #endif 114 115 #ifdef _WIN64 116 #undef USE_WIN32_ASM 117 //@TODO: Windows 64 compiler cannot use inline ASM, so we need to 118 // generate some MASM code at some point. 119 #endif 120 121 #ifdef _WIN32_WCE // Cannot use our inline ASM in Windows Mobile. 122 #undef USE_WIN32_ASM 123 #endif 124 #endif 125 extern ILimage *iCurImage; 126 #define BIT_0 0x00000001 127 #define BIT_1 0x00000002 128 #define BIT_2 0x00000004 129 #define BIT_3 0x00000008 130 #define BIT_4 0x00000010 131 #define BIT_5 0x00000020 132 #define BIT_6 0x00000040 133 #define BIT_7 0x00000080 134 #define BIT_8 0x00000100 135 #define BIT_9 0x00000200 136 #define BIT_10 0x00000400 137 #define BIT_11 0x00000800 138 #define BIT_12 0x00001000 139 #define BIT_13 0x00002000 140 #define BIT_14 0x00004000 141 #define BIT_15 0x00008000 142 #define BIT_16 0x00010000 143 #define BIT_17 0x00020000 144 #define BIT_18 0x00040000 145 #define BIT_19 0x00080000 146 #define BIT_20 0x00100000 147 #define BIT_21 0x00200000 148 #define BIT_22 0x00400000 149 #define BIT_23 0x00800000 150 #define BIT_24 0x01000000 151 #define BIT_25 0x02000000 152 #define BIT_26 0x04000000 153 #define BIT_27 0x08000000 154 #define BIT_28 0x10000000 155 #define BIT_29 0x20000000 156 #define BIT_30 0x40000000 157 #define BIT_31 0x80000000 158 #define NUL '\0' // Easier to type and ?portable? 159 #if !_WIN32 || _WIN32_WCE 160 int stricmp(const char *src1, const char *src2); 161 int strnicmp(const char *src1, const char *src2, size_t max); 162 #endif//_WIN32 163 #ifdef _WIN32_WCE 164 char *strdup(const char *src); 165 #endif 166 int iStrCmp(ILconst_string src1, ILconst_string src2); 167 168 // 169 // Some math functions 170 // 171 // A fast integer squareroot, completely accurate for x < 289. 172 // Taken from http://atoms.org.uk/sqrt/ 173 // There is also a version that is accurate for all integers 174 // < 2^31, if we should need it 175 int iSqrt(int x); 176 // 177 // Useful miscellaneous functions 178 // 179 ILboolean iCheckExtension(ILconst_string Arg, ILconst_string Ext); 180 ILbyte* iFgets(char *buffer, ILuint maxlen); 181 ILboolean iFileExists(ILconst_string FileName); 182 ILstring iGetExtension(ILconst_string FileName); 183 ILstring ilStrDup(ILconst_string Str); 184 ILuint ilStrLen(ILconst_string Str); 185 ILuint ilCharStrLen(const char *Str); 186 // Miscellaneous functions 187 void ilDefaultStates(void); 188 ILenum iGetHint(ILenum Target); 189 ILint iGetInt(ILenum Mode); 190 void ilRemoveRegistered(void); 191 ILAPI void ILAPIENTRY ilSetCurImage(ILimage *Image); 192 ILuint ilDetermineSize(ILenum Type); 193 // 194 // Rle compression 195 // 196 #define IL_TGACOMP 0x01 197 #define IL_PCXCOMP 0x02 198 #define IL_SGICOMP 0x03 199 #define IL_BMPCOMP 0x04 200 ILboolean ilRleCompressLine(ILubyte *ScanLine, ILuint Width, ILubyte Bpp, ILubyte *Dest, ILuint *DestWidth, ILenum CompressMode); 201 ILuint ilRleCompress(ILubyte *Data, ILuint Width, ILuint Height, ILuint Depth, ILubyte Bpp, ILubyte *Dest, ILenum CompressMode, ILuint *ScanTable); 202 void iSetImage0(void); 203 // DXTC compression 204 ILuint ilNVidiaCompressDXTFile(ILubyte *Data, ILuint Width, ILuint Height, ILuint Depth, ILenum DxtType); 205 ILAPI ILubyte* ILAPIENTRY ilNVidiaCompressDXT(ILubyte *Data, ILuint Width, ILuint Height, ILuint Depth, ILenum DxtFormat, ILuint *DxtSize); 206 ILAPI ILubyte* ILAPIENTRY ilSquishCompressDXT(ILubyte *Data, ILuint Width, ILuint Height, ILuint Depth, ILenum DxtFormat, ILuint *DxtSize); 207 208 // Conversion functions 209 ILboolean ilAddAlpha(void); 210 ILboolean ilAddAlphaKey(ILimage *Image); 211 ILboolean iFastConvert(ILenum DestFormat); 212 ILboolean ilFixCur(void); 213 ILboolean ilFixImage(void); 214 ILboolean ilRemoveAlpha(void); 215 ILboolean ilSwapColours(void); 216 // Palette functions 217 ILboolean iCopyPalette(ILpal *Dest, ILpal *Src); 218 // Miscellaneous functions 219 char* iGetString(ILenum StringName); // Internal version of ilGetString 220 221 // 222 // Image loading/saving functions 223 // 224 ILboolean ilIsValidBlp(ILconst_string FileName); 225 ILboolean ilIsValidBlpF(ILHANDLE File); 226 ILboolean ilIsValidBlpL(const void *Lump, ILuint Size); 227 ILboolean ilLoadBlp(ILconst_string FileName); 228 ILboolean ilLoadBlpF(ILHANDLE File); 229 ILboolean ilLoadBlpL(const void *Lump, ILuint Size); 230 ILboolean ilIsValidBmp(ILconst_string FileName); 231 ILboolean ilIsValidBmpF(ILHANDLE File); 232 ILboolean ilIsValidBmpL(const void *Lump, ILuint Size); 233 ILboolean ilLoadBmp(ILconst_string FileName); 234 ILboolean ilLoadBmpF(ILHANDLE File); 235 ILboolean ilLoadBmpL(const void *Lump, ILuint Size); 236 ILboolean ilSaveBmp(ILconst_string FileName); 237 ILuint ilSaveBmpF(ILHANDLE File); 238 ILuint ilSaveBmpL(void *Lump, ILuint Size); 239 ILboolean ilSaveCHeader(ILconst_string FileName, char *InternalName); 240 ILboolean ilLoadCut(ILconst_string FileName); 241 ILboolean ilLoadCutF(ILHANDLE File); 242 ILboolean ilLoadCutL(const void *Lump, ILuint Size); 243 ILboolean ilIsValidDcx(ILconst_string FileName); 244 ILboolean ilIsValidDcxF(ILHANDLE File); 245 ILboolean ilIsValidDcxL(const void *Lump, ILuint Size); 246 ILboolean ilLoadDcx(ILconst_string FileName); 247 ILboolean ilLoadDcxF(ILHANDLE File); 248 ILboolean ilLoadDcxL(const void *Lump, ILuint Size); 249 ILboolean ilIsValidDds(ILconst_string FileName); 250 ILboolean ilIsValidDdsF(ILHANDLE File); 251 ILboolean ilIsValidDdsL(const void *Lump, ILuint Size); 252 ILboolean ilLoadDds(ILconst_string FileName); 253 ILboolean ilLoadDdsF(ILHANDLE File); 254 ILboolean ilLoadDdsL(const void *Lump, ILuint Size); 255 ILboolean ilSaveDds(ILconst_string FileName); 256 ILuint ilSaveDdsF(ILHANDLE File); 257 ILuint ilSaveDdsL(void *Lump, ILuint Size); 258 ILboolean ilIsValidDicom(ILconst_string FileName); 259 ILboolean ilIsValidDicomF(ILHANDLE File); 260 ILboolean ilIsValidDicomL(const void *Lump, ILuint Size); 261 ILboolean ilLoadDicom(ILconst_string FileName); 262 ILboolean ilLoadDicomF(ILHANDLE File); 263 ILboolean ilLoadDicomL(const void *Lump, ILuint Size); 264 ILboolean ilLoadDoom(ILconst_string FileName); 265 ILboolean ilLoadDoomF(ILHANDLE File); 266 ILboolean ilLoadDoomL(const void *Lump, ILuint Size); 267 ILboolean ilLoadDoomFlat(ILconst_string FileName); 268 ILboolean ilLoadDoomFlatF(ILHANDLE File); 269 ILboolean ilLoadDoomFlatL(const void *Lump, ILuint Size); 270 ILboolean ilIsValidDpx(ILconst_string FileName); 271 ILboolean ilIsValidDpxF(ILHANDLE File); 272 ILboolean ilIsValidDpxL(const void *Lump, ILuint Size); 273 ILboolean ilLoadDpx(ILconst_string FileName); 274 ILboolean ilLoadDpxF(ILHANDLE File); 275 ILboolean ilLoadDpxL(const void *Lump, ILuint Size); 276 ILboolean ilIsValidExr(ILconst_string FileName); 277 ILboolean ilIsValidExrF(ILHANDLE File); 278 ILboolean ilIsValidExrL(const void *Lump, ILuint Size); 279 ILboolean ilLoadExr(ILconst_string FileName); 280 ILboolean ilLoadExrF(ILHANDLE File); 281 ILboolean ilLoadExrL(const void *Lump, ILuint Size); 282 ILboolean ilSaveExr(ILconst_string FileName); 283 ILuint ilSaveExrF(ILHANDLE File); 284 ILuint ilSaveExrL(void *Lump, ILuint Size); 285 ILboolean ilIsValidFits(ILconst_string FileName); 286 ILboolean ilIsValidFitsF(ILHANDLE File); 287 ILboolean ilIsValidFitsL(const void *Lump, ILuint Size); 288 ILboolean ilLoadFits(ILconst_string FileName); 289 ILboolean ilLoadFitsF(ILHANDLE File); 290 ILboolean ilLoadFitsL(const void *Lump, ILuint Size); 291 ILboolean ilLoadFtx(ILconst_string FileName); 292 ILboolean ilLoadFtxF(ILHANDLE File); 293 ILboolean ilLoadFtxL(const void *Lump, ILuint Size); 294 ILboolean ilIsValidGif(ILconst_string FileName); 295 ILboolean ilIsValidGifF(ILHANDLE File); 296 ILboolean ilIsValidGifL(const void *Lump, ILuint Size); 297 ILboolean ilLoadGif(ILconst_string FileName); 298 ILboolean ilLoadGifF(ILHANDLE File); 299 ILboolean ilLoadGifL(const void *Lump, ILuint Size); 300 ILboolean ilIsValidHdr(ILconst_string FileName); 301 ILboolean ilIsValidHdrF(ILHANDLE File); 302 ILboolean ilIsValidHdrL(const void *Lump, ILuint Size); 303 ILboolean ilLoadHdr(ILconst_string FileName); 304 ILboolean ilLoadHdrF(ILHANDLE File); 305 ILboolean ilLoadHdrL(const void *Lump, ILuint Size); 306 ILboolean ilSaveHdr(ILconst_string FileName); 307 ILuint ilSaveHdrF(ILHANDLE File); 308 ILuint ilSaveHdrL(void *Lump, ILuint Size); 309 ILboolean ilLoadIcon(ILconst_string FileName); 310 ILboolean ilLoadIconF(ILHANDLE File); 311 ILboolean ilLoadIconL(const void *Lump, ILuint Size); 312 ILboolean ilIsValidIcns(ILconst_string FileName); 313 ILboolean ilIsValidIcnsF(ILHANDLE File); 314 ILboolean ilIsValidIcnsL(const void *Lump, ILuint Size); 315 ILboolean ilLoadIcns(ILconst_string FileName); 316 ILboolean ilLoadIcnsF(ILHANDLE File); 317 ILboolean ilLoadIcnsL(const void *Lump, ILuint Size); 318 ILboolean ilLoadIff(ILconst_string FileName); 319 ILboolean ilLoadIffF(ILHANDLE File); 320 ILboolean ilLoadIffL(const void *Lump, ILuint Size); 321 ILboolean ilIsValidIlbm(ILconst_string FileName); 322 ILboolean ilIsValidIlbmF(ILHANDLE File); 323 ILboolean ilIsValidIlbmL(const void *Lump, ILuint Size); 324 ILboolean ilLoadIlbm(ILconst_string FileName); 325 ILboolean ilLoadIlbmF(ILHANDLE File); 326 ILboolean ilLoadIlbmL(const void *Lump, ILuint Size); 327 ILboolean ilIsValidIwi(ILconst_string FileName); 328 ILboolean ilIsValidIwiF(ILHANDLE File); 329 ILboolean ilIsValidIwiL(const void *Lump, ILuint Size); 330 ILboolean ilLoadIwi(ILconst_string FileName); 331 ILboolean ilLoadIwiF(ILHANDLE File); 332 ILboolean ilLoadIwiL(const void *Lump, ILuint Size); 333 ILboolean ilIsValidJp2(ILconst_string FileName); 334 ILboolean ilIsValidJp2F(ILHANDLE File); 335 ILboolean ilIsValidJp2L(const void *Lump, ILuint Size); 336 ILboolean ilLoadJp2(ILconst_string FileName); 337 ILboolean ilLoadJp2F(ILHANDLE File); 338 ILboolean ilLoadJp2L(const void *Lump, ILuint Size); 339 ILboolean ilLoadJp2LInternal(const void *Lump, ILuint Size, ILimage *Image); 340 ILboolean ilSaveJp2(ILconst_string FileName); 341 ILuint ilSaveJp2F(ILHANDLE File); 342 ILuint ilSaveJp2L(void *Lump, ILuint Size); 343 ILboolean ilIsValidJpeg(ILconst_string FileName); 344 ILboolean ilIsValidJpegF(ILHANDLE File); 345 ILboolean ilIsValidJpegL(const void *Lump, ILuint Size); 346 ILboolean ilLoadJpeg(ILconst_string FileName); 347 ILboolean ilLoadJpegF(ILHANDLE File); 348 ILboolean ilLoadJpegL(const void *Lump, ILuint Size); 349 ILboolean ilSaveJpeg(ILconst_string FileName); 350 ILuint ilSaveJpegF(ILHANDLE File); 351 ILuint ilSaveJpegL(void *Lump, ILuint Size); 352 ILboolean ilIsValidLif(ILconst_string FileName); 353 ILboolean ilIsValidLifF(ILHANDLE File); 354 ILboolean ilIsValidLifL(const void *Lump, ILuint Size); 355 ILboolean ilLoadLif(ILconst_string FileName); 356 ILboolean ilLoadLifF(ILHANDLE File); 357 ILboolean ilLoadLifL(const void *Lump, ILuint Size); 358 ILboolean ilIsValidMdl(ILconst_string FileName); 359 ILboolean ilIsValidMdlF(ILHANDLE File); 360 ILboolean ilIsValidMdlL(const void *Lump, ILuint Size); 361 ILboolean ilLoadMdl(ILconst_string FileName); 362 ILboolean ilLoadMdlF(ILHANDLE File); 363 ILboolean ilLoadMdlL(const void *Lump, ILuint Size); 364 ILboolean ilLoadMng(ILconst_string FileName); 365 ILboolean ilLoadMngF(ILHANDLE File); 366 ILboolean ilLoadMngL(const void *Lump, ILuint Size); 367 ILboolean ilSaveMng(ILconst_string FileName); 368 ILuint ilSaveMngF(ILHANDLE File); 369 ILuint ilSaveMngL(void *Lump, ILuint Size); 370 ILboolean ilIsValidMp3(ILconst_string FileName); 371 ILboolean ilIsValidMp3F(ILHANDLE File); 372 ILboolean ilIsValidMp3L(const void *Lump, ILuint Size); 373 ILboolean ilLoadMp3(ILconst_string FileName); 374 ILboolean ilLoadMp3F(ILHANDLE File); 375 ILboolean ilLoadMp3L(const void *Lump, ILuint Size); 376 ILboolean ilLoadPcd(ILconst_string FileName); 377 ILboolean ilLoadPcdF(ILHANDLE File); 378 ILboolean ilLoadPcdL(const void *Lump, ILuint Size); 379 ILboolean ilIsValidPcx(ILconst_string FileName); 380 ILboolean ilIsValidPcxF(ILHANDLE File); 381 ILboolean ilIsValidPcxL(const void *Lump, ILuint Size); 382 ILboolean ilLoadPcx(ILconst_string FileName); 383 ILboolean ilLoadPcxF(ILHANDLE File); 384 ILboolean ilLoadPcxL(const void *Lump, ILuint Size); 385 ILboolean ilSavePcx(ILconst_string FileName); 386 ILuint ilSavePcxF(ILHANDLE File); 387 ILuint ilSavePcxL(void *Lump, ILuint Size); 388 ILboolean ilIsValidPic(ILconst_string FileName); 389 ILboolean ilIsValidPicF(ILHANDLE File); 390 ILboolean ilIsValidPicL(const void *Lump, ILuint Size); 391 ILboolean ilLoadPic(ILconst_string FileName); 392 ILboolean ilLoadPicF(ILHANDLE File); 393 ILboolean ilLoadPicL(const void *Lump, ILuint Size); 394 ILboolean ilLoadPix(ILconst_string FileName); 395 ILboolean ilLoadPixF(ILHANDLE File); 396 ILboolean ilLoadPixL(const void *Lump, ILuint Size); 397 ILboolean ilIsValidPng(ILconst_string FileName); 398 ILboolean ilIsValidPngF(ILHANDLE File); 399 ILboolean ilIsValidPngL(const void *Lump, ILuint Size); 400 ILboolean ilLoadPng(ILconst_string FileName); 401 ILboolean ilLoadPngF(ILHANDLE File); 402 ILboolean ilLoadPngL(const void *Lump, ILuint Size); 403 ILboolean ilSavePng(ILconst_string FileName); 404 ILuint ilSavePngF(ILHANDLE File); 405 ILuint ilSavePngL(void *Lump, ILuint Size); 406 ILboolean ilIsValidPnm(ILconst_string FileName); 407 ILboolean ilIsValidPnmF(ILHANDLE File); 408 ILboolean ilIsValidPnmL(const void *Lump, ILuint Size); 409 ILboolean ilLoadPnm(ILconst_string FileName); 410 ILboolean ilLoadPnmF(ILHANDLE File); 411 ILboolean ilLoadPnmL(const void *Lump, ILuint Size); 412 ILboolean ilSavePnm(ILconst_string FileName); 413 ILuint ilSavePnmF(ILHANDLE File); 414 ILuint ilSavePnmL(void *Lump, ILuint Size); 415 ILboolean ilIsValidPsd(ILconst_string FileName); 416 ILboolean ilIsValidPsdF(ILHANDLE File); 417 ILboolean ilIsValidPsdL(const void *Lump, ILuint Size); 418 ILboolean ilLoadPsd(ILconst_string FileName); 419 ILboolean ilLoadPsdF(ILHANDLE File); 420 ILboolean ilLoadPsdL(const void *Lump, ILuint Size); 421 ILboolean ilSavePsd(ILconst_string FileName); 422 ILuint ilSavePsdF(ILHANDLE File); 423 ILuint ilSavePsdL(void *Lump, ILuint Size); 424 ILboolean ilIsValidPsp(ILconst_string FileName); 425 ILboolean ilIsValidPspF(ILHANDLE File); 426 ILboolean ilIsValidPspL(const void *Lump, ILuint Size); 427 ILboolean ilLoadPsp(ILconst_string FileName); 428 ILboolean ilLoadPspF(ILHANDLE File); 429 ILboolean ilLoadPspL(const void *Lump, ILuint Size); 430 ILboolean ilLoadPxr(ILconst_string FileName); 431 ILboolean ilLoadPxrF(ILHANDLE File); 432 ILboolean ilLoadPxrL(const void *Lump, ILuint Size); 433 ILboolean ilLoadRaw(ILconst_string FileName); 434 ILboolean ilLoadRawF(ILHANDLE File); 435 ILboolean ilLoadRawL(const void *Lump, ILuint Size); 436 ILboolean ilSaveRaw(ILconst_string FileName); 437 ILuint ilSaveRawF(ILHANDLE File); 438 ILuint ilSaveRawL(void *Lump, ILuint Size); 439 ILboolean ilLoadRot(ILconst_string FileName); 440 ILboolean ilLoadRotF(ILHANDLE File); 441 ILboolean ilLoadRotL(const void *Lump, ILuint Size); 442 ILboolean ilIsValidRot(ILconst_string FileName); 443 ILboolean ilIsValidRotF(ILHANDLE File); 444 ILboolean ilIsValidRotL(const void *Lump, ILuint Size); 445 ILboolean ilIsValidSgi(ILconst_string FileName); 446 ILboolean ilIsValidSgiF(ILHANDLE File); 447 ILboolean ilIsValidSgiL(const void *Lump, ILuint Size); 448 ILboolean ilLoadSgi(ILconst_string FileName); 449 ILboolean ilLoadSgiF(ILHANDLE File); 450 ILboolean ilLoadSgiL(const void *Lump, ILuint Size); 451 ILboolean ilSaveSgi(ILconst_string FileName); 452 ILuint ilSaveSgiF(ILHANDLE File); 453 ILuint ilSaveSgiL(void *Lump, ILuint Size); 454 ILboolean ilIsValidSun(ILconst_string FileName); 455 ILboolean ilIsValidSunF(ILHANDLE File); 456 ILboolean ilIsValidSunL(const void *Lump, ILuint Size); 457 ILboolean ilLoadSun(ILconst_string FileName); 458 ILboolean ilLoadSunF(ILHANDLE File); 459 ILboolean ilLoadSunL(const void *Lump, ILuint Size); 460 ILboolean ilIsValidTga(ILconst_string FileName); 461 ILboolean ilIsValidTgaF(ILHANDLE File); 462 ILboolean ilIsValidTgaL(const void *Lump, ILuint Size); 463 ILboolean ilLoadTarga(ILconst_string FileName); 464 ILboolean ilLoadTargaF(ILHANDLE File); 465 ILboolean ilLoadTargaL(const void *Lump, ILuint Size); 466 ILboolean ilSaveTarga(ILconst_string FileName); 467 ILuint ilSaveTargaF(ILHANDLE File); 468 ILuint ilSaveTargaL(void *Lump, ILuint Size); 469 ILboolean ilLoadTexture(ILconst_string FileName); 470 ILboolean ilLoadTextureF(ILHANDLE File); 471 ILboolean ilLoadTextureL(const void *Lump, ILuint Size); 472 ILboolean ilIsValidTiff(ILconst_string FileName); 473 ILboolean ilIsValidTiffF(ILHANDLE File); 474 ILboolean ilIsValidTiffL(const void *Lump, ILuint Size); 475 ILboolean ilLoadTiff(ILconst_string FileName); 476 ILboolean ilLoadTiffF(ILHANDLE File); 477 ILboolean ilLoadTiffL(const void *Lump, ILuint Size); 478 ILboolean ilSaveTiff(ILconst_string FileName); 479 ILuint ilSaveTiffF(ILHANDLE File); 480 ILuint ilSaveTiffL(void *Lump, ILuint Size); 481 ILboolean ilIsValidTpl(ILconst_string FileName); 482 ILboolean ilIsValidTplF(ILHANDLE File); 483 ILboolean ilIsValidTplL(const void *Lump, ILuint Size); 484 ILboolean ilLoadTpl(ILconst_string FileName); 485 ILboolean ilLoadTplF(ILHANDLE File); 486 ILboolean ilLoadTplL(const void *Lump, ILuint Size); 487 ILboolean ilLoadUtx(ILconst_string FileName); 488 ILboolean ilLoadUtxF(ILHANDLE File); 489 ILboolean ilLoadUtxL(const void *Lump, ILuint Size); 490 ILboolean ilIsValidVtf(ILconst_string FileName); 491 ILboolean ilIsValidVtfF(ILHANDLE File); 492 ILboolean ilIsValidVtfL(const void *Lump, ILuint Size); 493 ILboolean ilLoadVtf(ILconst_string FileName); 494 ILboolean ilLoadVtfF(ILHANDLE File); 495 ILboolean ilLoadVtfL(const void *Lump, ILuint Size); 496 ILboolean ilSaveVtf(ILconst_string FileName); 497 ILuint ilSaveVtfF(ILHANDLE File); 498 ILuint ilSaveVtfL(void *Lump, ILuint Size);ILboolean ilLoadWal(ILconst_string FileName); 499 ILboolean ilLoadWalF(ILHANDLE File); 500 ILboolean ilLoadWalL(const void *Lump, ILuint Size); 501 ILboolean ilLoadWbmp(ILconst_string FileName); 502 ILboolean ilLoadWbmpF(ILHANDLE File); 503 ILboolean ilLoadWbmpL(const void *Lump, ILuint Size); 504 ILboolean ilSaveWbmp(ILconst_string FileName); 505 ILuint ilSaveWbmpF(ILHANDLE File); 506 ILuint ilSaveWbmpL(void *Lump, ILuint Size); 507 ILboolean ilIsValidWdp(ILconst_string FileName); 508 ILboolean ilIsValidWdpF(ILHANDLE File); 509 ILboolean ilIsValidWdpL(const void *Lump, ILuint Size); 510 ILboolean ilLoadWdp(ILconst_string FileName); 511 ILboolean ilLoadWdpF(ILHANDLE File); 512 ILboolean ilLoadWdpL(const void *Lump, ILuint Size); 513 ILboolean ilIsValidXpm(ILconst_string FileName); 514 ILboolean ilIsValidXpmF(ILHANDLE File); 515 ILboolean ilIsValidXpmL(const void *Lump, ILuint Size); 516 ILboolean ilLoadXpm(ILconst_string FileName); 517 ILboolean ilLoadXpmF(ILHANDLE File); 518 ILboolean ilLoadXpmL(const void *Lump, ILuint Size); 519 520 521 // OpenEXR is written in C++, so we have to wrap this to avoid linker errors. 522 /*#ifndef IL_NO_EXR 523 #ifdef __cplusplus 524 extern "C" { 525 #endif 526 ILboolean ilLoadExr(ILconst_string FileName); 527 #ifdef __cplusplus 528 } 529 #endif 530 #endif*/ 531 532 //ILboolean ilLoadExr(ILconst_string FileName); 533 534 535 #ifdef __cplusplus 536 } 537 #endif 538 539 #endif//INTERNAL_H 540