00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00018 #ifndef __il_h_
00019 #ifndef __IL_H__
00020
00021 #define __il_h_
00022 #define __IL_H__
00023
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027
00028
00029
00030
00031
00032 #define CLAMP_HALF 1
00033 #define CLAMP_FLOATS 1
00034 #define CLAMP_DOUBLES 1
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058 #ifdef _WIN32
00059 #if (defined(IL_USE_PRAGMA_LIBS)) && (!defined(_IL_BUILD_LIBRARY))
00060 #if defined(_MSC_VER) || defined(__BORLANDC__)
00061 #pragma comment(lib, "DevIL.lib")
00062 #endif
00063 #endif
00064 #endif
00065
00066 #ifdef RESTRICT_KEYWORD
00067 #define RESTRICT restrict
00068 #define CONST_RESTRICT const restrict
00069 #else
00070 #define RESTRICT
00071 #define CONST_RESTRICT const
00072 #endif
00073
00074 #include <stdio.h>
00075
00076 typedef unsigned int ILenum;
00077 typedef unsigned char ILboolean;
00078 typedef unsigned int ILbitfield;
00079 typedef signed char ILbyte;
00080 typedef signed short ILshort;
00081 typedef int ILint;
00082 typedef size_t ILsizei;
00083 typedef unsigned char ILubyte;
00084 typedef unsigned short ILushort;
00085 typedef unsigned int ILuint;
00086 typedef float ILfloat;
00087 typedef float ILclampf;
00088 typedef double ILdouble;
00089 typedef double ILclampd;
00090
00091 #ifdef _MSC_VER
00092 typedef __int64 ILint64;
00093 typedef unsigned __int64 ILuint64;
00094 #else
00095 typedef long long int ILint64;
00096 typedef long long unsigned int ILuint64;
00097 #endif
00098
00099
00100 #include <limits.h>
00101 #ifdef _UNICODE
00102 #ifndef _WIN32_WCE
00103 #include <wchar.h>
00104 #endif
00105
00106
00107 #define ILchar wchar_t
00108 #define ILstring wchar_t*
00109 #define ILconst_string wchar_t const *
00110 #else
00111
00112
00113 #define ILchar char
00114 #define ILstring char*
00115 #define ILconst_string char const *
00116 #endif //_UNICODE
00117
00118 #define IL_FALSE 0
00119 #define IL_TRUE 1
00120
00121
00123 #define IL_COLOUR_INDEX 0x1900
00124 #define IL_COLOR_INDEX 0x1900
00125 #define IL_ALPHA 0x1906
00126 #define IL_RGB 0x1907
00127 #define IL_RGBA 0x1908
00128 #define IL_BGR 0x80E0
00129 #define IL_BGRA 0x80E1
00130 #define IL_LUMINANCE 0x1909
00131 #define IL_LUMINANCE_ALPHA 0x190A
00132
00134 #define IL_BYTE 0x1400
00135 #define IL_UNSIGNED_BYTE 0x1401
00136 #define IL_SHORT 0x1402
00137 #define IL_UNSIGNED_SHORT 0x1403
00138 #define IL_INT 0x1404
00139 #define IL_UNSIGNED_INT 0x1405
00140 #define IL_FLOAT 0x1406
00141 #define IL_DOUBLE 0x140A
00142 #define IL_HALF 0x140B
00143
00144
00145 #define IL_MAX_BYTE SCHAR_MAX
00146 #define IL_MAX_UNSIGNED_BYTE UCHAR_MAX
00147 #define IL_MAX_SHORT SHRT_MAX
00148 #define IL_MAX_UNSIGNED_SHORT USHRT_MAX
00149 #define IL_MAX_INT INT_MAX
00150 #define IL_MAX_UNSIGNED_INT UINT_MAX
00151
00152 #define IL_LIMIT(x,m,M) (x<m?m:(x>M?M:x))
00153 #define IL_CLAMP(x) IL_LIMIT(x,0,1)
00154
00155 #define IL_VENDOR 0x1F00
00156 #define IL_LOAD_EXT 0x1F01
00157 #define IL_SAVE_EXT 0x1F02
00158
00159
00160
00161
00162
00163
00164 #define IL_VERSION_1_7_7 1
00165 #define IL_VERSION 177
00166
00167
00168
00169 #define IL_ORIGIN_BIT 0x00000001
00170 #define IL_FILE_BIT 0x00000002
00171 #define IL_PAL_BIT 0x00000004
00172 #define IL_FORMAT_BIT 0x00000008
00173 #define IL_TYPE_BIT 0x00000010
00174 #define IL_COMPRESS_BIT 0x00000020
00175 #define IL_LOADFAIL_BIT 0x00000040
00176 #define IL_FORMAT_SPECIFIC_BIT 0x00000080
00177 #define IL_ALL_ATTRIB_BITS 0x000FFFFF
00178
00179
00180
00181 #define IL_PAL_NONE 0x0400
00182 #define IL_PAL_RGB24 0x0401
00183 #define IL_PAL_RGB32 0x0402
00184 #define IL_PAL_RGBA32 0x0403
00185 #define IL_PAL_BGR24 0x0404
00186 #define IL_PAL_BGR32 0x0405
00187 #define IL_PAL_BGRA32 0x0406
00188
00189
00190
00191 #define IL_TYPE_UNKNOWN 0x0000
00192 #define IL_BMP 0x0420 //!< Microsoft Windows Bitmap - .bmp extension
00193 #define IL_CUT 0x0421 //!< Dr. Halo - .cut extension
00194 #define IL_DOOM 0x0422 //!< DooM walls - no specific extension
00195 #define IL_DOOM_FLAT 0x0423 //!< DooM flats - no specific extension
00196 #define IL_ICO 0x0424 //!< Microsoft Windows Icons and Cursors - .ico and .cur extensions
00197 #define IL_JPG 0x0425 //!< JPEG - .jpg, .jpe and .jpeg extensions
00198 #define IL_JFIF 0x0425 //!<
00199 #define IL_LBM 0x0426 //!< Interlaced bitmap - .lbm extension
00200 #define IL_PCD 0x0427 //!< Kodak PhotoCD - .pcd extension
00201 #define IL_PCX 0x0428 //!< ZSoft PCX - .pcx extension
00202 #define IL_PIC 0x0429 //!< PIC - .pic extension
00203 #define IL_PNG 0x042A //!< Portable Network Graphics - .png extension
00204 #define IL_PNM 0x042B //!< Portable Any Map - .pbm, .pgm, .ppm and .pnm extensions
00205 #define IL_SGI 0x042C //!< Silicon Graphics - .sgi, .bw, .rgb and .rgba extensions
00206 #define IL_TGA 0x042D //!< TrueVision Targa File - .tga, .vda, .icb and .vst extensions
00207 #define IL_TIF 0x042E //!< Tagged Image File Format - .tif and .tiff extensions
00208 #define IL_CHEAD 0x042F //!< C-Style Header - .h extension
00209 #define IL_RAW 0x0430 //!< Raw Image Data - any extension
00210 #define IL_MDL 0x0431 //!< Half-Life Model Texture - .mdl extension
00211 #define IL_WAL 0x0432 //!< Quake 2 Texture - .wal extension
00212 #define IL_LIF 0x0434 //!< Homeworld Texture - .lif extension
00213 #define IL_MNG 0x0435 //!< Multiple-image Network Graphics - .mng extension
00214 #define IL_JNG 0x0435 //!<
00215 #define IL_GIF 0x0436 //!< Graphics Interchange Format - .gif extension
00216 #define IL_DDS 0x0437 //!< DirectDraw Surface - .dds extension
00217 #define IL_DCX 0x0438 //!< ZSoft Multi-PCX - .dcx extension
00218 #define IL_PSD 0x0439 //!< Adobe PhotoShop - .psd extension
00219 #define IL_EXIF 0x043A //!<
00220 #define IL_PSP 0x043B //!< PaintShop Pro - .psp extension
00221 #define IL_PIX 0x043C //!< PIX - .pix extension
00222 #define IL_PXR 0x043D //!< Pixar - .pxr extension
00223 #define IL_XPM 0x043E //!< X Pixel Map - .xpm extension
00224 #define IL_HDR 0x043F //!< Radiance High Dynamic Range - .hdr extension
00225 #define IL_ICNS 0x0440 //!< Macintosh Icon - .icns extension
00226 #define IL_JP2 0x0441 //!< Jpeg 2000 - .jp2 extension
00227 #define IL_EXR 0x0442 //!< OpenEXR - .exr extension
00228 #define IL_WDP 0x0443 //!<
00229 #define IL_VTF 0x0444 //!< Valve Texture Format - .vtf extension
00230 #define IL_WBMP 0x0445 //!< Wireless Bitmap - .wbmp extension
00231 #define IL_SUN 0x0446 //!< Sun Raster - .sun, .ras, .rs, .im1, .im8, .im24 and .im32 extensions
00232 #define IL_IFF 0x0447 //!< Interchange File Format - .iff extension
00233 #define IL_TPL 0x0448 //!< Gamecube Texture - .tpl extension
00234
00235
00236 #define IL_JASC_PAL 0x0475 //!< PaintShop Pro Palette
00237
00238
00239
00240 #define IL_NO_ERROR 0x0000
00241 #define IL_INVALID_ENUM 0x0501
00242 #define IL_OUT_OF_MEMORY 0x0502
00243 #define IL_FORMAT_NOT_SUPPORTED 0x0503
00244 #define IL_INTERNAL_ERROR 0x0504
00245 #define IL_INVALID_VALUE 0x0505
00246 #define IL_ILLEGAL_OPERATION 0x0506
00247 #define IL_ILLEGAL_FILE_VALUE 0x0507
00248 #define IL_INVALID_FILE_HEADER 0x0508
00249 #define IL_INVALID_PARAM 0x0509
00250 #define IL_COULD_NOT_OPEN_FILE 0x050A
00251 #define IL_INVALID_EXTENSION 0x050B
00252 #define IL_FILE_ALREADY_EXISTS 0x050C
00253 #define IL_OUT_FORMAT_SAME 0x050D
00254 #define IL_STACK_OVERFLOW 0x050E
00255 #define IL_STACK_UNDERFLOW 0x050F
00256 #define IL_INVALID_CONVERSION 0x0510
00257 #define IL_BAD_DIMENSIONS 0x0511
00258 #define IL_FILE_READ_ERROR 0x0512 // 05/12/2002: Addition by Sam.
00259 #define IL_FILE_WRITE_ERROR 0x0512
00260
00261 #define IL_LIB_GIF_ERROR 0x05E1
00262 #define IL_LIB_JPEG_ERROR 0x05E2
00263 #define IL_LIB_PNG_ERROR 0x05E3
00264 #define IL_LIB_TIFF_ERROR 0x05E4
00265 #define IL_LIB_MNG_ERROR 0x05E5
00266 #define IL_LIB_JP2_ERROR 0x05E6
00267 #define IL_LIB_EXR_ERROR 0x05E7
00268 #define IL_UNKNOWN_ERROR 0x05FF
00269
00270
00271
00272 #define IL_ORIGIN_SET 0x0600
00273 #define IL_ORIGIN_LOWER_LEFT 0x0601
00274 #define IL_ORIGIN_UPPER_LEFT 0x0602
00275 #define IL_ORIGIN_MODE 0x0603
00276
00277
00278
00279 #define IL_FORMAT_SET 0x0610
00280 #define IL_FORMAT_MODE 0x0611
00281 #define IL_TYPE_SET 0x0612
00282 #define IL_TYPE_MODE 0x0613
00283
00284
00285
00286 #define IL_FILE_OVERWRITE 0x0620
00287 #define IL_FILE_MODE 0x0621
00288
00289
00290
00291 #define IL_CONV_PAL 0x0630
00292
00293
00294
00295 #define IL_DEFAULT_ON_FAIL 0x0632
00296
00297
00298
00299 #define IL_USE_KEY_COLOUR 0x0635
00300 #define IL_USE_KEY_COLOR 0x0635
00301 #define IL_BLIT_BLEND 0x0636
00302
00303
00304
00305 #define IL_SAVE_INTERLACED 0x0639
00306 #define IL_INTERLACE_MODE 0x063A
00307
00308
00309
00310 #define IL_QUANTIZATION_MODE 0x0640
00311 #define IL_WU_QUANT 0x0641
00312 #define IL_NEU_QUANT 0x0642
00313 #define IL_NEU_QUANT_SAMPLE 0x0643
00314 #define IL_MAX_QUANT_INDEXS 0x0644 //XIX : ILint : Maximum number of colors to reduce to, default of 256. and has a range of 2-256
00315 #define IL_MAX_QUANT_INDICES 0x0644 // Redefined, since the above #define is misspelled
00316
00317
00318
00319 #define IL_FASTEST 0x0660
00320 #define IL_LESS_MEM 0x0661
00321 #define IL_DONT_CARE 0x0662
00322 #define IL_MEM_SPEED_HINT 0x0665
00323 #define IL_USE_COMPRESSION 0x0666
00324 #define IL_NO_COMPRESSION 0x0667
00325 #define IL_COMPRESSION_HINT 0x0668
00326
00327
00328
00329 #define IL_NVIDIA_COMPRESS 0x0670
00330 #define IL_SQUISH_COMPRESS 0x0671
00331
00332
00333
00334 #define IL_SUB_NEXT 0x0680
00335 #define IL_SUB_MIPMAP 0x0681
00336 #define IL_SUB_LAYER 0x0682
00337
00338
00339
00340 #define IL_COMPRESS_MODE 0x0700
00341 #define IL_COMPRESS_NONE 0x0701
00342 #define IL_COMPRESS_RLE 0x0702
00343 #define IL_COMPRESS_LZO 0x0703
00344 #define IL_COMPRESS_ZLIB 0x0704
00345
00346
00347
00348 #define IL_TGA_CREATE_STAMP 0x0710
00349 #define IL_JPG_QUALITY 0x0711
00350 #define IL_PNG_INTERLACE 0x0712
00351 #define IL_TGA_RLE 0x0713
00352 #define IL_BMP_RLE 0x0714
00353 #define IL_SGI_RLE 0x0715
00354 #define IL_TGA_ID_STRING 0x0717
00355 #define IL_TGA_AUTHNAME_STRING 0x0718
00356 #define IL_TGA_AUTHCOMMENT_STRING 0x0719
00357 #define IL_PNG_AUTHNAME_STRING 0x071A
00358 #define IL_PNG_TITLE_STRING 0x071B
00359 #define IL_PNG_DESCRIPTION_STRING 0x071C
00360 #define IL_TIF_DESCRIPTION_STRING 0x071D
00361 #define IL_TIF_HOSTCOMPUTER_STRING 0x071E
00362 #define IL_TIF_DOCUMENTNAME_STRING 0x071F
00363 #define IL_TIF_AUTHNAME_STRING 0x0720
00364 #define IL_JPG_SAVE_FORMAT 0x0721
00365 #define IL_CHEAD_HEADER_STRING 0x0722
00366 #define IL_PCD_PICNUM 0x0723
00367 #define IL_JPG_PROGRESSIVE 0x0725
00368
00369 #define IL_PNG_ALPHA_INDEX 0x0724 //XIX : ILint : the color in the palette at this index value (0-255) is considered transparent, -1 for no trasparent color
00370
00371
00372 #define IL_DXTC_FORMAT 0x0705
00373 #define IL_DXT1 0x0706
00374 #define IL_DXT2 0x0707
00375 #define IL_DXT3 0x0708
00376 #define IL_DXT4 0x0709
00377 #define IL_DXT5 0x070A
00378 #define IL_DXT_NO_COMP 0x070B
00379 #define IL_KEEP_DXTC_DATA 0x070C
00380 #define IL_DXTC_DATA_FORMAT 0x070D
00381 #define IL_3DC 0x070E
00382 #define IL_RXGB 0x070F
00383 #define IL_ATI1N 0x0710
00384 #define IL_DXT1A 0x0711 // Normally the same as IL_DXT1, except for nVidia Texture Tools.
00385
00386
00387 #define IL_CUBEMAP_POSITIVEX 0x00000400
00388 #define IL_CUBEMAP_NEGATIVEX 0x00000800
00389 #define IL_CUBEMAP_POSITIVEY 0x00001000
00390 #define IL_CUBEMAP_NEGATIVEY 0x00002000
00391 #define IL_CUBEMAP_POSITIVEZ 0x00004000
00392 #define IL_CUBEMAP_NEGATIVEZ 0x00008000
00393 #define IL_SPHEREMAP 0x00010000
00394
00395
00396
00397 #define IL_VERSION_NUM 0x0DE2
00398 #define IL_IMAGE_WIDTH 0x0DE4
00399 #define IL_IMAGE_HEIGHT 0x0DE5
00400 #define IL_IMAGE_DEPTH 0x0DE6
00401 #define IL_IMAGE_SIZE_OF_DATA 0x0DE7
00402 #define IL_IMAGE_BPP 0x0DE8
00403 #define IL_IMAGE_BYTES_PER_PIXEL 0x0DE8
00404 #define IL_IMAGE_BPP 0x0DE8
00405 #define IL_IMAGE_BITS_PER_PIXEL 0x0DE9
00406 #define IL_IMAGE_FORMAT 0x0DEA
00407 #define IL_IMAGE_TYPE 0x0DEB
00408 #define IL_PALETTE_TYPE 0x0DEC
00409 #define IL_PALETTE_SIZE 0x0DED
00410 #define IL_PALETTE_BPP 0x0DEE
00411 #define IL_PALETTE_NUM_COLS 0x0DEF
00412 #define IL_PALETTE_BASE_TYPE 0x0DF0
00413 #define IL_NUM_FACES 0x0DE1
00414 #define IL_NUM_IMAGES 0x0DF1
00415 #define IL_NUM_MIPMAPS 0x0DF2
00416 #define IL_NUM_LAYERS 0x0DF3
00417 #define IL_ACTIVE_IMAGE 0x0DF4
00418 #define IL_ACTIVE_MIPMAP 0x0DF5
00419 #define IL_ACTIVE_LAYER 0x0DF6
00420 #define IL_ACTIVE_FACE 0x0E00
00421 #define IL_CUR_IMAGE 0x0DF7
00422 #define IL_IMAGE_DURATION 0x0DF8
00423 #define IL_IMAGE_PLANESIZE 0x0DF9
00424 #define IL_IMAGE_BPC 0x0DFA
00425 #define IL_IMAGE_OFFX 0x0DFB
00426 #define IL_IMAGE_OFFY 0x0DFC
00427 #define IL_IMAGE_CUBEFLAGS 0x0DFD
00428 #define IL_IMAGE_ORIGIN 0x0DFE
00429 #define IL_IMAGE_CHANNELS 0x0DFF
00430
00431 # if defined __GNUC__ && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0))
00432
00433 # define DEPRECATED(D) D __attribute__((deprecated))
00434 # elif defined _MSC_VER && _MSC_VER >= 1300
00435
00436 # define DEPRECATED(D) __declspec(deprecated) D
00437 # else
00438 # define DEPRECATED (D) D
00439 # endif
00440
00441
00442
00443
00444
00445
00446 #if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) || defined(__LCC__)
00447 #define ILAPIENTRY __stdcall
00448 #define IL_PACKSTRUCT
00449
00450 #elif defined( __GNUC__ )
00451
00452
00453 #ifdef __MINGW32__
00454 #define ILAPIENTRY __stdcall
00455 #else
00456 #define ILAPIENTRY
00457 #endif
00458 #define IL_PACKSTRUCT __attribute__ ((packed))
00459 #else
00460 #define ILAPIENTRY
00461 #define IL_PACKSTRUCT
00462 #endif
00463
00464
00465 #if defined(__LCC__)
00466 #define ILAPI __stdcall
00467 #elif defined(_WIN32) //changed 20031221 to fix bug 840421
00468 #ifdef IL_STATIC_LIB
00469 #define ILAPI
00470 #else
00471 #ifdef _IL_BUILD_LIBRARY
00472 #define ILAPI __declspec(dllexport)
00473 #else
00474 #define ILAPI __declspec(dllimport)
00475 #endif
00476 #endif
00477 #elif __APPLE__
00478 #define ILAPI extern
00479 #else
00480 #define ILAPI
00481 #endif
00482
00483
00484 #define IL_SEEK_SET 0
00485 #define IL_SEEK_CUR 1
00486 #define IL_SEEK_END 2
00487 #define IL_EOF -1
00488
00489
00490
00491 typedef void* ILHANDLE;
00492 typedef void (ILAPIENTRY *fCloseRProc)(ILHANDLE);
00493 typedef ILboolean (ILAPIENTRY *fEofProc) (ILHANDLE);
00494 typedef ILint (ILAPIENTRY *fGetcProc) (ILHANDLE);
00495 typedef ILHANDLE (ILAPIENTRY *fOpenRProc) (ILconst_string);
00496 typedef ILint (ILAPIENTRY *fReadProc) (void*, ILuint, ILuint, ILHANDLE);
00497 typedef ILint (ILAPIENTRY *fSeekRProc) (ILHANDLE, ILint, ILint);
00498 typedef ILint (ILAPIENTRY *fTellRProc) (ILHANDLE);
00499
00500
00501 typedef void (ILAPIENTRY *fCloseWProc)(ILHANDLE);
00502 typedef ILHANDLE (ILAPIENTRY *fOpenWProc) (ILconst_string);
00503 typedef ILint (ILAPIENTRY *fPutcProc) (ILubyte, ILHANDLE);
00504 typedef ILint (ILAPIENTRY *fSeekWProc) (ILHANDLE, ILint, ILint);
00505 typedef ILint (ILAPIENTRY *fTellWProc) (ILHANDLE);
00506 typedef ILint (ILAPIENTRY *fWriteProc) (const void*, ILuint, ILuint, ILHANDLE);
00507
00508
00509 typedef void* (ILAPIENTRY *mAlloc)(const ILsizei);
00510 typedef void (ILAPIENTRY *mFree) (const void* CONST_RESTRICT);
00511
00512
00513 typedef ILenum (ILAPIENTRY *IL_LOADPROC)(ILconst_string);
00514 typedef ILenum (ILAPIENTRY *IL_SAVEPROC)(ILconst_string);
00515
00516
00517
00518 ILAPI ILboolean ILAPIENTRY ilActiveFace(ILuint Number);
00519 ILAPI ILboolean ILAPIENTRY ilActiveImage(ILuint Number);
00520 ILAPI ILboolean ILAPIENTRY ilActiveLayer(ILuint Number);
00521 ILAPI ILboolean ILAPIENTRY ilActiveMipmap(ILuint Number);
00522 ILAPI ILboolean ILAPIENTRY ilApplyPal(ILconst_string FileName);
00523 ILAPI ILboolean ILAPIENTRY ilApplyProfile(ILstring InProfile, ILstring OutProfile);
00524 ILAPI void ILAPIENTRY ilBindImage(ILuint Image);
00525 ILAPI ILboolean ILAPIENTRY ilBlit(ILuint Source, ILint DestX, ILint DestY, ILint DestZ, ILuint SrcX, ILuint SrcY, ILuint SrcZ, ILuint Width, ILuint Height, ILuint Depth);
00526 ILAPI ILboolean ILAPIENTRY ilClampNTSC(void);
00527 ILAPI void ILAPIENTRY ilClearColour(ILclampf Red, ILclampf Green, ILclampf Blue, ILclampf Alpha);
00528 ILAPI ILboolean ILAPIENTRY ilClearImage(void);
00529 ILAPI ILuint ILAPIENTRY ilCloneCurImage(void);
00530 ILAPI ILubyte* ILAPIENTRY ilCompressDXT(ILubyte *Data, ILuint Width, ILuint Height, ILuint Depth, ILenum DXTCFormat, ILuint *DXTCSize);
00531 ILAPI ILboolean ILAPIENTRY ilCompressFunc(ILenum Mode);
00532 ILAPI ILboolean ILAPIENTRY ilConvertImage(ILenum DestFormat, ILenum DestType);
00533 ILAPI ILboolean ILAPIENTRY ilConvertPal(ILenum DestFormat);
00534 ILAPI ILboolean ILAPIENTRY ilCopyImage(ILuint Src);
00535 ILAPI ILuint ILAPIENTRY ilCopyPixels(ILuint XOff, ILuint YOff, ILuint ZOff, ILuint Width, ILuint Height, ILuint Depth, ILenum Format, ILenum Type, void *Data);
00536 ILAPI ILuint ILAPIENTRY ilCreateSubImage(ILenum Type, ILuint Num);
00537 ILAPI ILboolean ILAPIENTRY ilDefaultImage(void);
00538 ILAPI void ILAPIENTRY ilDeleteImage(const ILuint Num);
00539 ILAPI void ILAPIENTRY ilDeleteImages(ILsizei Num, const ILuint *Images);
00540 ILAPI ILenum ILAPIENTRY ilDetermineType(ILconst_string FileName);
00541 ILAPI ILenum ILAPIENTRY ilDetermineTypeF(ILHANDLE File);
00542 ILAPI ILenum ILAPIENTRY ilDetermineTypeL(const void *Lump, ILuint Size);
00543 ILAPI ILboolean ILAPIENTRY ilDisable(ILenum Mode);
00544 ILAPI ILboolean ILAPIENTRY ilDxtcDataToImage(void);
00545 ILAPI ILboolean ILAPIENTRY ilDxtcDataToSurface(void);
00546 ILAPI ILboolean ILAPIENTRY ilEnable(ILenum Mode);
00547 ILAPI void ILAPIENTRY ilFlipSurfaceDxtcData(void);
00548 ILAPI ILboolean ILAPIENTRY ilFormatFunc(ILenum Mode);
00549 ILAPI void ILAPIENTRY ilGenImages(ILsizei Num, ILuint *Images);
00550 ILAPI ILuint ILAPIENTRY ilGenImage(void);
00551 ILAPI ILubyte* ILAPIENTRY ilGetAlpha(ILenum Type);
00552 ILAPI ILboolean ILAPIENTRY ilGetBoolean(ILenum Mode);
00553 ILAPI void ILAPIENTRY ilGetBooleanv(ILenum Mode, ILboolean *Param);
00554 ILAPI ILubyte* ILAPIENTRY ilGetData(void);
00555 ILAPI ILuint ILAPIENTRY ilGetDXTCData(void *Buffer, ILuint BufferSize, ILenum DXTCFormat);
00556 ILAPI ILenum ILAPIENTRY ilGetError(void);
00557 ILAPI ILint ILAPIENTRY ilGetInteger(ILenum Mode);
00558 ILAPI void ILAPIENTRY ilGetIntegerv(ILenum Mode, ILint *Param);
00559 ILAPI ILuint ILAPIENTRY ilGetLumpPos(void);
00560 ILAPI ILubyte* ILAPIENTRY ilGetPalette(void);
00561 ILAPI ILconst_string ILAPIENTRY ilGetString(ILenum StringName);
00562 ILAPI void ILAPIENTRY ilHint(ILenum Target, ILenum Mode);
00563 ILAPI ILboolean ILAPIENTRY ilInvertSurfaceDxtcDataAlpha(void);
00564 ILAPI void ILAPIENTRY ilInit(void);
00565 ILAPI ILboolean ILAPIENTRY ilImageToDxtcData(ILenum Format);
00566 ILAPI ILboolean ILAPIENTRY ilIsDisabled(ILenum Mode);
00567 ILAPI ILboolean ILAPIENTRY ilIsEnabled(ILenum Mode);
00568 ILAPI ILboolean ILAPIENTRY ilIsImage(ILuint Image);
00569 ILAPI ILboolean ILAPIENTRY ilIsValid(ILenum Type, ILconst_string FileName);
00570 ILAPI ILboolean ILAPIENTRY ilIsValidF(ILenum Type, ILHANDLE File);
00571 ILAPI ILboolean ILAPIENTRY ilIsValidL(ILenum Type, void *Lump, ILuint Size);
00572 ILAPI void ILAPIENTRY ilKeyColour(ILclampf Red, ILclampf Green, ILclampf Blue, ILclampf Alpha);
00573 ILAPI ILboolean ILAPIENTRY ilLoad(ILenum Type, ILconst_string FileName);
00574 ILAPI ILboolean ILAPIENTRY ilLoadF(ILenum Type, ILHANDLE File);
00575 ILAPI ILboolean ILAPIENTRY ilLoadImage(ILconst_string FileName);
00576 ILAPI ILboolean ILAPIENTRY ilLoadL(ILenum Type, const void *Lump, ILuint Size);
00577 ILAPI ILboolean ILAPIENTRY ilLoadPal(ILconst_string FileName);
00578 ILAPI void ILAPIENTRY ilModAlpha(ILdouble AlphaValue);
00579 ILAPI ILboolean ILAPIENTRY ilOriginFunc(ILenum Mode);
00580 ILAPI ILboolean ILAPIENTRY ilOverlayImage(ILuint Source, ILint XCoord, ILint YCoord, ILint ZCoord);
00581 ILAPI void ILAPIENTRY ilPopAttrib(void);
00582 ILAPI void ILAPIENTRY ilPushAttrib(ILuint Bits);
00583 ILAPI void ILAPIENTRY ilRegisterFormat(ILenum Format);
00584 ILAPI ILboolean ILAPIENTRY ilRegisterLoad(ILconst_string Ext, IL_LOADPROC Load);
00585 ILAPI ILboolean ILAPIENTRY ilRegisterMipNum(ILuint Num);
00586 ILAPI ILboolean ILAPIENTRY ilRegisterNumFaces(ILuint Num);
00587 ILAPI ILboolean ILAPIENTRY ilRegisterNumImages(ILuint Num);
00588 ILAPI void ILAPIENTRY ilRegisterOrigin(ILenum Origin);
00589 ILAPI void ILAPIENTRY ilRegisterPal(void *Pal, ILuint Size, ILenum Type);
00590 ILAPI ILboolean ILAPIENTRY ilRegisterSave(ILconst_string Ext, IL_SAVEPROC Save);
00591 ILAPI void ILAPIENTRY ilRegisterType(ILenum Type);
00592 ILAPI ILboolean ILAPIENTRY ilRemoveLoad(ILconst_string Ext);
00593 ILAPI ILboolean ILAPIENTRY ilRemoveSave(ILconst_string Ext);
00594 ILAPI void ILAPIENTRY ilResetMemory(void);
00595 ILAPI void ILAPIENTRY ilResetRead(void);
00596 ILAPI void ILAPIENTRY ilResetWrite(void);
00597 ILAPI ILboolean ILAPIENTRY ilSave(ILenum Type, ILconst_string FileName);
00598 ILAPI ILuint ILAPIENTRY ilSaveF(ILenum Type, ILHANDLE File);
00599 ILAPI ILboolean ILAPIENTRY ilSaveImage(ILconst_string FileName);
00600 ILAPI ILuint ILAPIENTRY ilSaveL(ILenum Type, void *Lump, ILuint Size);
00601 ILAPI ILboolean ILAPIENTRY ilSavePal(ILconst_string FileName);
00602 ILAPI ILboolean ILAPIENTRY ilSetAlpha( ILdouble AlphaValue );
00603 ILAPI ILboolean ILAPIENTRY ilSetData(void *Data);
00604 ILAPI ILboolean ILAPIENTRY ilSetDuration(ILuint Duration);
00605 ILAPI void ILAPIENTRY ilSetInteger(ILenum Mode, ILint Param);
00606 ILAPI void ILAPIENTRY ilSetMemory(mAlloc, mFree);
00607 ILAPI void ILAPIENTRY ilSetPixels(ILint XOff, ILint YOff, ILint ZOff, ILuint Width, ILuint Height, ILuint Depth, ILenum Format, ILenum Type, void *Data);
00608 ILAPI void ILAPIENTRY ilSetRead(fOpenRProc, fCloseRProc, fEofProc, fGetcProc, fReadProc, fSeekRProc, fTellRProc);
00609 ILAPI void ILAPIENTRY ilSetString(ILenum Mode, const char *String);
00610 ILAPI void ILAPIENTRY ilSetWrite(fOpenWProc, fCloseWProc, fPutcProc, fSeekWProc, fTellWProc, fWriteProc);
00611 ILAPI void ILAPIENTRY ilShutDown(void);
00612 ILAPI ILboolean ILAPIENTRY ilSurfaceToDxtcData(ILenum Format);
00613 ILAPI ILboolean ILAPIENTRY ilTexImage(ILuint Width, ILuint Height, ILuint Depth, ILubyte NumChannels, ILenum Format, ILenum Type, void *Data);
00614 ILAPI ILboolean ILAPIENTRY ilTexImageDxtc(ILint w, ILint h, ILint d, ILenum DxtFormat, const ILubyte* data);
00615 ILAPI ILenum ILAPIENTRY ilTypeFromExt(ILconst_string FileName);
00616 ILAPI ILboolean ILAPIENTRY ilTypeFunc(ILenum Mode);
00617 ILAPI ILboolean ILAPIENTRY ilLoadData(ILconst_string FileName, ILuint Width, ILuint Height, ILuint Depth, ILubyte Bpp);
00618 ILAPI ILboolean ILAPIENTRY ilLoadDataF(ILHANDLE File, ILuint Width, ILuint Height, ILuint Depth, ILubyte Bpp);
00619 ILAPI ILboolean ILAPIENTRY ilLoadDataL(void *Lump, ILuint Size, ILuint Width, ILuint Height, ILuint Depth, ILubyte Bpp);
00620 ILAPI ILboolean ILAPIENTRY ilSaveData(ILconst_string FileName);
00621
00622
00623 #define ilClearColor ilClearColour
00624 #define ilKeyColor ilKeyColour
00625
00626 #define imemclear(x,y) memset(x,0,y);
00627
00628 #ifdef __cplusplus
00629 }
00630 #endif
00631
00632 #endif // __IL_H__
00633 #endif // __il_h__