~ubuntu-branches/ubuntu/hoary/devil/hoary

« back to all changes in this revision

Viewing changes to include/IL/il.h

  • Committer: Bazaar Package Importer
  • Author(s): Marcelo E. Magallon
  • Date: 2005-01-03 19:57:42 UTC
  • Revision ID: james.westby@ubuntu.com-20050103195742-4ipkplcwygu3irv0
Tags: upstream-1.6.7
ImportĀ upstreamĀ versionĀ 1.6.7

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//-----------------------------------------------------------------------------
 
2
//
 
3
// ImageLib Sources
 
4
// Copyright (C) 2000-2002 by Denton Woods
 
5
// Last modified: 06/23/2002 <--Y2K Compliant! =]
 
6
//
 
7
// Filename: IL/il.h
 
8
//
 
9
// Description: The main include file for DevIL
 
10
//
 
11
//-----------------------------------------------------------------------------
 
12
 
 
13
 
 
14
#ifndef __il_h_
 
15
#ifndef __IL_H__
 
16
 
 
17
#define __il_h_
 
18
#define __IL_H__
 
19
 
 
20
#ifdef __cplusplus
 
21
extern "C" {
 
22
#endif
 
23
 
 
24
//#define IL_NO_BMP
 
25
//#define IL_NO_CUT
 
26
//#define IL_NO_CHEAD
 
27
//#define IL_NO_DCX
 
28
//#define IL_NO_DDS
 
29
//#define IL_NO_DOOM
 
30
//#define IL_NO_GIF
 
31
//#define IL_NO_HDR
 
32
//#define IL_NO_ICO
 
33
//#define IL_NO_JPG
 
34
//#define IL_NO_LIF
 
35
//#define IL_NO_MDL
 
36
//#define IL_NO_MNG
 
37
//#define IL_NO_PCD
 
38
//#define IL_NO_PCX
 
39
//#define IL_NO_PIC
 
40
//#define IL_NO_PIX
 
41
//#define IL_NO_PNG
 
42
//#define IL_NO_PNM
 
43
//#define IL_NO_PSD
 
44
//#define IL_NO_PSP
 
45
//#define IL_NO_PXR
 
46
//#define IL_NO_RAW
 
47
//#define IL_NO_SGI
 
48
//#define IL_NO_TGA
 
49
//#define IL_NO_TIF
 
50
//#define IL_NO_WAL
 
51
//#define IL_NO_XPM
 
52
 
 
53
// Compiling Options
 
54
#define IL_INLINE_ASM
 
55
//#define IL_DEBUG
 
56
//#define IL_STATIC_LIB
 
57
//#define IL_NO_LCMS
 
58
 
 
59
//This is now in config.h
 
60
//#ifdef _WIN32
 
61
//      #ifndef IL_USE_JPEGLIB_UNMODIFIED
 
62
//              #define IL_USE_JPEGLIB_UNMODIFIED
 
63
//      #endif
 
64
//#endif
 
65
 
 
66
#ifdef _WIN32_WCE
 
67
        #define IL_NO_GIF
 
68
        #define IL_NO_JPG
 
69
        #define IL_NO_MNG
 
70
        #define IL_NO_PNG
 
71
        #define IL_NO_TIF
 
72
        #define IL_NO_LCMS
 
73
#endif//_WIN32_WCE
 
74
 
 
75
#ifdef DJGPP
 
76
        #define IL_NO_GIF
 
77
        #define IL_NO_JPG
 
78
        #define IL_NO_MNG
 
79
        #define IL_NO_PNG
 
80
        #define IL_NO_TIF
 
81
        #define IL_NO_LCMS
 
82
#endif//DJGPP
 
83
 
 
84
/*#ifdef __APPLE__
 
85
        #define IL_NO_GIF
 
86
        #define IL_NO_JPG
 
87
        #define IL_NO_MNG
 
88
        #define IL_NO_PNG
 
89
        #define IL_NO_TIF
 
90
        #define IL_NO_LCMS
 
91
#endif//__APPLE__*/
 
92
 
 
93
/*
 
94
#ifdef _WIN32
 
95
        #if defined(_MSC_VER) || defined(__BORLANDC__)
 
96
                #ifndef IL_STATIC_LIB
 
97
                        #ifndef _IL_BUILD_LIBRARY
 
98
                                pragma comment(lib, "Devil_DLL.lib")
 
99
                        #endif
 
100
                #else
 
101
                        #ifndef _IL_BUILD_LIBRARY
 
102
                                #ifdef  IL_DEBUG
 
103
                                        pragma comment(lib, "Devil_DBG.lib")
 
104
                                #else
 
105
                                        pragma comment(lib, "Devil.lib")
 
106
                                #endif//IL_DEBUG
 
107
                        #endif
 
108
                #endif
 
109
        #endif
 
110
#endif
 
111
*/
 
112
#include <stdio.h>
 
113
 
 
114
typedef unsigned int    ILenum;
 
115
typedef unsigned char   ILboolean;
 
116
typedef unsigned int    ILbitfield;
 
117
typedef char                    ILbyte;
 
118
typedef short                   ILshort;
 
119
typedef int                             ILint;
 
120
typedef int                             ILsizei;
 
121
typedef unsigned char   ILubyte;
 
122
typedef unsigned short  ILushort;
 
123
typedef unsigned int    ILuint;
 
124
typedef float                   ILfloat;
 
125
typedef float                   ILclampf;
 
126
typedef double                  ILdouble;
 
127
typedef double                  ILclampd;
 
128
typedef void                    ILvoid;
 
129
 
 
130
#ifdef _UNICODE
 
131
        #ifndef _WIN32_WCE
 
132
                #include <wchar.h>
 
133
        #endif
 
134
        typedef wchar_t* ILstring;
 
135
#else
 
136
        typedef char* ILstring;
 
137
#endif//_UNICODE
 
138
 
 
139
 
 
140
#define IL_FALSE                                                        0
 
141
#define IL_TRUE                                                         1
 
142
 
 
143
 
 
144
// Matches OpenGL's right now.
 
145
#define IL_COLOUR_INDEX                                                 0x1900
 
146
#define IL_COLOR_INDEX                                                  0x1900
 
147
#define IL_RGB                                                          0x1907
 
148
#define IL_RGBA                                                         0x1908
 
149
#define IL_BGR                                                          0x80E0
 
150
#define IL_BGRA                                                         0x80E1
 
151
#define IL_LUMINANCE                                                    0x1909
 
152
#define IL_LUMINANCE_ALPHA                                              0x190A
 
153
 
 
154
 
 
155
#define IL_BYTE                                                         0x1400
 
156
#define IL_UNSIGNED_BYTE                                                0x1401
 
157
#define IL_SHORT                                                        0x1402
 
158
#define IL_UNSIGNED_SHORT                                               0x1403
 
159
#define IL_INT                                                          0x1404
 
160
#define IL_UNSIGNED_INT                                                 0x1405
 
161
#define IL_FLOAT                                                        0x1406
 
162
#define IL_DOUBLE                                                       0x140A
 
163
 
 
164
 
 
165
#define IL_VENDOR                                                       0x1F00
 
166
#define IL_LOAD_EXT                                                     0x1F01
 
167
#define IL_SAVE_EXT                                                     0x1F02
 
168
 
 
169
 
 
170
//
 
171
// IL-specific #define's
 
172
//
 
173
 
 
174
#define IL_VERSION_1_6_7                                        1
 
175
#define IL_VERSION                                                      167
 
176
 
 
177
 
 
178
// Attribute Bits
 
179
#define IL_ORIGIN_BIT                                           0x00000001
 
180
#define IL_FILE_BIT                                             0x00000002
 
181
#define IL_PAL_BIT                                              0x00000004
 
182
#define IL_FORMAT_BIT                                           0x00000008
 
183
#define IL_TYPE_BIT                                             0x00000010
 
184
#define IL_COMPRESS_BIT                                         0x00000020
 
185
#define IL_LOADFAIL_BIT                                         0x00000040
 
186
#define IL_FORMAT_SPECIFIC_BIT                                  0x00000080
 
187
#define IL_ALL_ATTRIB_BITS                                      0x000FFFFF
 
188
 
 
189
 
 
190
// Palette types
 
191
#define IL_PAL_NONE                                             0x0400
 
192
#define IL_PAL_RGB24                                            0x0401
 
193
#define IL_PAL_RGB32                                            0x0402
 
194
#define IL_PAL_RGBA32                                           0x0403
 
195
#define IL_PAL_BGR24                                            0x0404
 
196
#define IL_PAL_BGR32                                            0x0405
 
197
#define IL_PAL_BGRA32                                           0x0406
 
198
 
 
199
 
 
200
// Image types
 
201
#define IL_TYPE_UNKNOWN                                         0x0000
 
202
#define IL_BMP                                                          0x0420
 
203
#define IL_CUT                                                          0x0421
 
204
#define IL_DOOM                                                         0x0422
 
205
#define IL_DOOM_FLAT                                            0x0423
 
206
#define IL_ICO                                                          0x0424
 
207
#define IL_JPG                                                          0x0425
 
208
#define IL_JFIF                                                         0x0425
 
209
#define IL_LBM                                                          0x0426
 
210
#define IL_PCD                                                          0x0427
 
211
#define IL_PCX                                                          0x0428
 
212
#define IL_PIC                                                          0x0429
 
213
#define IL_PNG                                                          0x042A
 
214
#define IL_PNM                                                          0x042B
 
215
#define IL_SGI                                                          0x042C
 
216
#define IL_TGA                                                          0x042D
 
217
#define IL_TIF                                                          0x042E
 
218
#define IL_CHEAD                                                        0x042F
 
219
#define IL_RAW                                                          0x0430
 
220
#define IL_MDL                                                          0x0431
 
221
#define IL_WAL                                                          0x0432
 
222
#define IL_LIF                                                          0x0434
 
223
#define IL_MNG                                                          0x0435
 
224
#define IL_JNG                                                          0x0435
 
225
#define IL_GIF                                                          0x0436
 
226
#define IL_DDS                                                          0x0437
 
227
#define IL_DCX                                                          0x0438
 
228
#define IL_PSD                                                          0x0439
 
229
#define IL_EXIF                                                         0x043A
 
230
#define IL_PSP                                                          0x043B
 
231
#define IL_PIX                                                          0x043C
 
232
#define IL_PXR                                                          0x043D
 
233
#define IL_XPM                                                          0x043E
 
234
#define IL_HDR                                                          0x043F
 
235
 
 
236
#define IL_JASC_PAL                                                     0x0475
 
237
 
 
238
 
 
239
// Error Types
 
240
#define IL_NO_ERROR                                                     0x0000
 
241
#define IL_INVALID_ENUM                                         0x0501
 
242
#define IL_OUT_OF_MEMORY                                        0x0502
 
243
#define IL_FORMAT_NOT_SUPPORTED                         0x0503
 
244
#define IL_INTERNAL_ERROR                                       0x0504
 
245
#define IL_INVALID_VALUE                                        0x0505
 
246
#define IL_ILLEGAL_OPERATION                            0x0506
 
247
#define IL_ILLEGAL_FILE_VALUE                           0x0507
 
248
#define IL_INVALID_FILE_HEADER                          0x0508
 
249
#define IL_INVALID_PARAM                                        0x0509
 
250
#define IL_COULD_NOT_OPEN_FILE                          0x050A
 
251
#define IL_INVALID_EXTENSION                            0x050B
 
252
#define IL_FILE_ALREADY_EXISTS                          0x050C
 
253
#define IL_OUT_FORMAT_SAME                                      0x050D
 
254
#define IL_STACK_OVERFLOW                                       0x050E
 
255
#define IL_STACK_UNDERFLOW                                      0x050F
 
256
#define IL_INVALID_CONVERSION                           0x0510
 
257
#define IL_BAD_DIMENSIONS                                       0x0511
 
258
#define IL_FILE_READ_ERROR                                      0x0512  // 05/12/2002: Addition by Sam.
 
259
#define IL_FILE_WRITE_ERROR                                     0x0512
 
260
 
 
261
#define IL_LIB_GIF_ERROR                                        0x05E1
 
262
#define IL_LIB_JPEG_ERROR                                       0x05E2
 
263
#define IL_LIB_PNG_ERROR                                        0x05E3
 
264
#define IL_LIB_TIFF_ERROR                                       0x05E4
 
265
#define IL_LIB_MNG_ERROR                                        0x05E5
 
266
#define IL_UNKNOWN_ERROR                                        0x05FF
 
267
 
 
268
 
 
269
// Origin Definitions
 
270
#define IL_ORIGIN_SET                                           0x0600
 
271
#define IL_ORIGIN_LOWER_LEFT                            0x0601
 
272
#define IL_ORIGIN_UPPER_LEFT                            0x0602
 
273
#define IL_ORIGIN_MODE                                          0x0603
 
274
 
 
275
 
 
276
// Format and Type Mode Definitions
 
277
#define IL_FORMAT_SET                                           0x0610
 
278
#define IL_FORMAT_MODE                                          0x0611
 
279
#define IL_TYPE_SET                                                     0x0612
 
280
#define IL_TYPE_MODE                                            0x0613
 
281
 
 
282
 
 
283
// File definitions
 
284
#define IL_FILE_OVERWRITE                                       0x0620
 
285
#define IL_FILE_MODE                                            0x0621
 
286
 
 
287
 
 
288
// Palette definitions
 
289
#define IL_CONV_PAL                                                     0x0630
 
290
 
 
291
 
 
292
// Load fail definitions
 
293
#define IL_DEFAULT_ON_FAIL                                      0x0632
 
294
 
 
295
 
 
296
// Key colour definitions
 
297
#define IL_USE_KEY_COLOUR                                       0x0635
 
298
#define IL_USE_KEY_COLOR                                        0x0635
 
299
 
 
300
 
 
301
// Interlace definitions
 
302
#define IL_SAVE_INTERLACED                                      0x0639
 
303
#define IL_INTERLACE_MODE                                       0x063A
 
304
 
 
305
 
 
306
// Quantization definitions
 
307
#define IL_QUANTIZATION_MODE                            0x0640
 
308
#define IL_WU_QUANT                                                     0x0641
 
309
#define IL_NEU_QUANT                                            0x0642
 
310
#define IL_NEU_QUANT_SAMPLE                                     0x0643
 
311
#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
 
312
 
 
313
 
 
314
// Hints
 
315
#define IL_FASTEST                                                      0x0660
 
316
#define IL_LESS_MEM                                                     0x0661
 
317
#define IL_DONT_CARE                                            0x0662
 
318
#define IL_MEM_SPEED_HINT                                       0x0665
 
319
#define IL_USE_COMPRESSION                                      0x0666
 
320
#define IL_NO_COMPRESSION                                       0x0667
 
321
#define IL_COMPRESSION_HINT                                     0x0668
 
322
 
 
323
 
 
324
// Subimage types
 
325
#define IL_SUB_NEXT                                                     0x0680
 
326
#define IL_SUB_MIPMAP                                           0x0681
 
327
#define IL_SUB_LAYER                                            0x0682
 
328
 
 
329
 
 
330
// Compression definitions
 
331
#define IL_COMPRESS_MODE                                        0x0700
 
332
#define IL_COMPRESS_NONE                                        0x0701
 
333
#define IL_COMPRESS_RLE                                         0x0702
 
334
#define IL_COMPRESS_LZO                                         0x0703
 
335
#define IL_COMPRESS_ZLIB                                        0x0704
 
336
 
 
337
 
 
338
// File format-specific values
 
339
#define IL_TGA_CREATE_STAMP                                     0x0710
 
340
#define IL_JPG_QUALITY                                          0x0711
 
341
#define IL_PNG_INTERLACE                                        0x0712
 
342
#define IL_TGA_RLE                                                      0x0713
 
343
#define IL_BMP_RLE                                                      0x0714
 
344
#define IL_SGI_RLE                                                      0x0715
 
345
#define IL_TGA_ID_STRING                                        0x0717
 
346
#define IL_TGA_AUTHNAME_STRING                          0x0718
 
347
#define IL_TGA_AUTHCOMMENT_STRING                       0x0719
 
348
#define IL_PNG_AUTHNAME_STRING                          0x071A
 
349
#define IL_PNG_TITLE_STRING                                     0x071B
 
350
#define IL_PNG_DESCRIPTION_STRING                       0x071C
 
351
#define IL_TIF_DESCRIPTION_STRING                       0x071D
 
352
#define IL_TIF_HOSTCOMPUTER_STRING                      0x071E
 
353
#define IL_TIF_DOCUMENTNAME_STRING                      0x071F
 
354
#define IL_TIF_AUTHNAME_STRING                          0x0720
 
355
#define IL_JPG_SAVE_FORMAT                                      0x0721
 
356
#define IL_CHEAD_HEADER_STRING                          0x0722
 
357
#define IL_PCD_PICNUM                                           0x0723
 
358
 
 
359
#define IL_PNG_ALPHA_INDEX                                      0x0724  //XIX : ILint : the color in the pallete at this index value (0-255) is considered transparent, -1 for no trasparent color
 
360
 
 
361
// DXTC definitions
 
362
#define IL_DXTC_FORMAT                                          0x0705
 
363
#define IL_DXT1                                                         0x0706
 
364
#define IL_DXT2                                                         0x0707
 
365
#define IL_DXT3                                                         0x0708
 
366
#define IL_DXT4                                                         0x0709
 
367
#define IL_DXT5                                                         0x070A
 
368
#define IL_DXT_NO_COMP                                          0x070B
 
369
#define IL_KEEP_DXTC_DATA                                       0x070C
 
370
#define IL_DXTC_DATA_FORMAT                                     0x070D
 
371
#define IL_3DC                                                          0x070E
 
372
 
 
373
 
 
374
// Cube map definitions
 
375
#define IL_CUBEMAP_POSITIVEX                            0x00000400
 
376
#define IL_CUBEMAP_NEGATIVEX                            0x00000800
 
377
#define IL_CUBEMAP_POSITIVEY                            0x00001000
 
378
#define IL_CUBEMAP_NEGATIVEY                            0x00002000
 
379
#define IL_CUBEMAP_POSITIVEZ                            0x00004000
 
380
#define IL_CUBEMAP_NEGATIVEZ                            0x00008000
 
381
 
 
382
 
 
383
// Values
 
384
#define IL_VERSION_NUM                                          0x0DE2
 
385
#define IL_IMAGE_WIDTH                                          0x0DE4
 
386
#define IL_IMAGE_HEIGHT                                         0x0DE5
 
387
#define IL_IMAGE_DEPTH                                          0x0DE6
 
388
#define IL_IMAGE_SIZE_OF_DATA                                   0x0DE7
 
389
#define IL_IMAGE_BPP                                            0x0DE8
 
390
#define IL_IMAGE_BYTES_PER_PIXEL                                0x0DE8
 
391
#define IL_IMAGE_BPP                                            0x0DE8
 
392
#define IL_IMAGE_BITS_PER_PIXEL                                 0x0DE9
 
393
#define IL_IMAGE_FORMAT                                         0x0DEA
 
394
#define IL_IMAGE_TYPE                                           0x0DEB
 
395
#define IL_PALETTE_TYPE                                         0x0DEC
 
396
#define IL_PALETTE_SIZE                                         0x0DED
 
397
#define IL_PALETTE_BPP                                          0x0DEE
 
398
#define IL_PALETTE_NUM_COLS                                     0x0DEF
 
399
#define IL_PALETTE_BASE_TYPE                                    0x0DF0
 
400
#define IL_NUM_IMAGES                                           0x0DF1
 
401
#define IL_NUM_MIPMAPS                                          0x0DF2
 
402
#define IL_NUM_LAYERS                                           0x0DF3
 
403
#define IL_ACTIVE_IMAGE                                         0x0DF4
 
404
#define IL_ACTIVE_MIPMAP                                        0x0DF5
 
405
#define IL_ACTIVE_LAYER                                         0x0DF6
 
406
#define IL_CUR_IMAGE                                            0x0DF7
 
407
#define IL_IMAGE_DURATION                                       0x0DF8
 
408
#define IL_IMAGE_PLANESIZE                                      0x0DF9
 
409
#define IL_IMAGE_BPC                                            0x0DFA
 
410
#define IL_IMAGE_OFFX                                           0x0DFB
 
411
#define IL_IMAGE_OFFY                                           0x0DFC
 
412
#define IL_IMAGE_CUBEFLAGS                                      0x0DFD
 
413
#define IL_IMAGE_ORIGIN                                         0x0DFE
 
414
#define IL_IMAGE_CHANNELS                                       0x0DFF
 
415
 
 
416
//
 
417
// Section shamelessly modified from the glut header.
 
418
//
 
419
 
 
420
// This is from Win32's <windef.h>
 
421
#if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) || defined(__LCC__)
 
422
        #define ILAPIENTRY __stdcall 
 
423
        #define IL_PACKSTRUCT
 
424
//#elif defined(linux) || defined(MACOSX) || defined(__CYGWIN__) //fix bug 840364
 
425
#elif defined( __GNUC__ )
 
426
  // this should work for any of the above commented platforms 
 
427
  // plus any platform using GCC
 
428
        #define ILAPIENTRY
 
429
        #define IL_PACKSTRUCT __attribute__ ((packed))
 
430
#else
 
431
        #define ILAPIENTRY
 
432
        #define IL_PACKSTRUCT
 
433
#endif
 
434
 
 
435
// This is from Win32's <wingdi.h> and <winnt.h>
 
436
#if defined(__LCC__)
 
437
        #define ILAPI __stdcall
 
438
#elif defined(_WIN32) //changed 20031221 to fix bug 840421
 
439
        #ifdef IL_STATIC_LIB
 
440
                #define ILAPI
 
441
        #else
 
442
                #ifdef _IL_BUILD_LIBRARY
 
443
                        #define ILAPI __declspec(dllexport)
 
444
                #else
 
445
                        #define ILAPI __declspec(dllimport)
 
446
                #endif
 
447
        #endif
 
448
#elif __APPLE__
 
449
        #define ILAPI extern
 
450
#else
 
451
        #define ILAPI
 
452
#endif
 
453
 
 
454
 
 
455
#define IL_SEEK_SET     0
 
456
#define IL_SEEK_CUR     1
 
457
#define IL_SEEK_END     2
 
458
#define IL_EOF          -1
 
459
 
 
460
 
 
461
// Callback functions for file reading
 
462
typedef void* ILHANDLE;
 
463
typedef ILvoid          (ILAPIENTRY *fCloseRProc)(ILHANDLE);
 
464
typedef ILboolean       (ILAPIENTRY *fEofProc)   (ILHANDLE);
 
465
typedef ILint           (ILAPIENTRY *fGetcProc)  (ILHANDLE);
 
466
typedef ILHANDLE        (ILAPIENTRY *fOpenRProc) (const ILstring);
 
467
typedef ILint           (ILAPIENTRY *fReadProc)  (void*, ILuint, ILuint, ILHANDLE);
 
468
typedef ILint           (ILAPIENTRY *fSeekRProc) (ILHANDLE, ILint, ILint);
 
469
typedef ILint           (ILAPIENTRY *fTellRProc) (ILHANDLE);
 
470
 
 
471
// Callback functions for file writing
 
472
typedef ILvoid          (ILAPIENTRY *fCloseWProc)(ILHANDLE);
 
473
typedef ILHANDLE        (ILAPIENTRY *fOpenWProc) (const ILstring);
 
474
typedef ILint           (ILAPIENTRY *fPutcProc)  (ILubyte, ILHANDLE);
 
475
typedef ILint           (ILAPIENTRY *fSeekWProc) (ILHANDLE, ILint, ILint);
 
476
typedef ILint           (ILAPIENTRY *fTellWProc) (ILHANDLE);
 
477
typedef ILint           (ILAPIENTRY *fWriteProc) (const void*, ILuint, ILuint, ILHANDLE);
 
478
 
 
479
// Callback functions for allocation and deallocation
 
480
typedef ILvoid*         (ILAPIENTRY *mAlloc)(ILuint);
 
481
typedef ILvoid          (ILAPIENTRY *mFree) (ILvoid*);
 
482
 
 
483
// Registered format procedures
 
484
typedef ILenum          (ILAPIENTRY *IL_LOADPROC)(const ILstring);
 
485
typedef ILenum          (ILAPIENTRY *IL_SAVEPROC)(const ILstring);
 
486
 
 
487
 
 
488
// ImageLib Functions
 
489
ILAPI ILboolean         ILAPIENTRY ilActiveImage(ILuint Number);
 
490
ILAPI ILboolean         ILAPIENTRY ilActiveLayer(ILuint Number);
 
491
ILAPI ILboolean         ILAPIENTRY ilActiveMipmap(ILuint Number);
 
492
ILAPI ILboolean         ILAPIENTRY ilApplyPal(const ILstring FileName);
 
493
ILAPI ILboolean         ILAPIENTRY ilApplyProfile(const ILstring InProfile, const ILstring OutProfile);
 
494
ILAPI ILvoid            ILAPIENTRY ilBindImage(ILuint Image);
 
495
ILAPI ILboolean         ILAPIENTRY ilBlit(ILuint Source, ILint DestX, ILint DestY, ILint DestZ, ILuint SrcX, ILuint SrcY, ILuint SrcZ, ILuint Width, ILuint Height, ILuint Depth);
 
496
ILAPI ILvoid            ILAPIENTRY ilClearColour(ILclampf Red, ILclampf Green, ILclampf Blue, ILclampf Alpha);
 
497
ILAPI ILboolean         ILAPIENTRY ilClearImage(ILvoid);
 
498
ILAPI ILuint            ILAPIENTRY ilCloneCurImage(ILvoid);
 
499
ILAPI ILboolean         ILAPIENTRY ilCompressFunc(ILenum Mode);
 
500
ILAPI ILboolean         ILAPIENTRY ilConvertImage(ILenum DestFormat, ILenum DestType);
 
501
ILAPI ILboolean         ILAPIENTRY ilConvertPal(ILenum DestFormat);
 
502
ILAPI ILboolean         ILAPIENTRY ilCopyImage(ILuint Src);
 
503
ILAPI ILuint            ILAPIENTRY ilCopyPixels(ILuint XOff, ILuint YOff, ILuint ZOff, ILuint Width, ILuint Height, ILuint Depth, ILenum Format, ILenum Type, ILvoid *Data);
 
504
ILAPI ILuint            ILAPIENTRY ilCreateSubImage(ILenum Type, ILuint Num);
 
505
ILAPI ILboolean         ILAPIENTRY ilDefaultImage(ILvoid);
 
506
ILAPI ILvoid            ILAPIENTRY ilDeleteImages(ILsizei Num, const ILuint *Images);
 
507
ILAPI ILboolean         ILAPIENTRY ilDisable(ILenum Mode);
 
508
ILAPI ILboolean         ILAPIENTRY ilEnable(ILenum Mode);
 
509
ILAPI ILboolean         ILAPIENTRY ilFormatFunc(ILenum Mode);
 
510
ILAPI ILvoid            ILAPIENTRY ilGenImages(ILsizei Num, ILuint *Images);
 
511
ILAPI ILubyte*          ILAPIENTRY ilGetAlpha(ILenum Type);
 
512
ILAPI ILvoid            ILAPIENTRY ilModAlpha( ILdouble AlphaValue );
 
513
ILAPI ILvoid            ILAPIENTRY ilSetAlpha( ILdouble AlphaValue );
 
514
ILAPI ILboolean         ILAPIENTRY ilGetBoolean(ILenum Mode);
 
515
ILAPI ILvoid            ILAPIENTRY ilGetBooleanv(ILenum Mode, ILboolean *Param);
 
516
ILAPI ILubyte*          ILAPIENTRY ilGetData(ILvoid);
 
517
ILAPI ILuint            ILAPIENTRY ilGetDXTCData(ILvoid *Buffer, ILuint BufferSize, ILenum DXTCFormat);
 
518
ILAPI ILenum            ILAPIENTRY ilGetError(ILvoid);
 
519
ILAPI ILint             ILAPIENTRY ilGetInteger(ILenum Mode);
 
520
ILAPI ILvoid            ILAPIENTRY ilGetIntegerv(ILenum Mode, ILint *Param);
 
521
ILAPI ILuint            ILAPIENTRY ilGetLumpPos(ILvoid);
 
522
ILAPI ILubyte*          ILAPIENTRY ilGetPalette(ILvoid);
 
523
ILAPI const ILstring    ILAPIENTRY ilGetString(ILenum StringName);
 
524
ILAPI ILvoid            ILAPIENTRY ilHint(ILenum Target, ILenum Mode);
 
525
ILAPI ILvoid            ILAPIENTRY ilInit(ILvoid);
 
526
ILAPI ILboolean         ILAPIENTRY ilIsDisabled(ILenum Mode);
 
527
ILAPI ILboolean         ILAPIENTRY ilIsEnabled(ILenum Mode);
 
528
ILAPI ILboolean         ILAPIENTRY ilIsImage(ILuint Image);
 
529
ILAPI ILboolean         ILAPIENTRY ilIsValid(ILenum Type, const ILstring FileName);
 
530
ILAPI ILboolean         ILAPIENTRY ilIsValidF(ILenum Type, ILHANDLE File);
 
531
ILAPI ILboolean         ILAPIENTRY ilIsValidL(ILenum Type, ILvoid *Lump, ILuint Size);
 
532
ILAPI ILvoid            ILAPIENTRY ilKeyColour(ILclampf Red, ILclampf Green, ILclampf Blue, ILclampf Alpha);
 
533
ILAPI ILboolean         ILAPIENTRY ilLoad(ILenum Type, const ILstring FileName);
 
534
ILAPI ILboolean         ILAPIENTRY ilLoadF(ILenum Type, ILHANDLE File);
 
535
ILAPI ILboolean         ILAPIENTRY ilLoadImage(const ILstring FileName);
 
536
ILAPI ILboolean         ILAPIENTRY ilLoadL(ILenum Type, ILvoid *Lump, ILuint Size);
 
537
ILAPI ILboolean         ILAPIENTRY ilLoadPal(const ILstring FileName);
 
538
ILAPI ILboolean         ILAPIENTRY ilOriginFunc(ILenum Mode);
 
539
ILAPI ILboolean         ILAPIENTRY ilOverlayImage(ILuint Source, ILint XCoord, ILint YCoord, ILint ZCoord);
 
540
ILAPI ILvoid            ILAPIENTRY ilPopAttrib(ILvoid);
 
541
ILAPI ILvoid            ILAPIENTRY ilPushAttrib(ILuint Bits);
 
542
ILAPI ILvoid            ILAPIENTRY ilRegisterFormat(ILenum Format);
 
543
ILAPI ILboolean         ILAPIENTRY ilRegisterLoad(const ILstring Ext, IL_LOADPROC Load);
 
544
ILAPI ILboolean         ILAPIENTRY ilRegisterMipNum(ILuint Num);
 
545
ILAPI ILboolean         ILAPIENTRY ilRegisterNumImages(ILuint Num);
 
546
ILAPI ILvoid            ILAPIENTRY ilRegisterOrigin(ILenum Origin);
 
547
ILAPI ILvoid            ILAPIENTRY ilRegisterPal(ILvoid *Pal, ILuint Size, ILenum Type);
 
548
ILAPI ILboolean         ILAPIENTRY ilRegisterSave(const ILstring Ext, IL_SAVEPROC Save);
 
549
ILAPI ILvoid            ILAPIENTRY ilRegisterType(ILenum Type);
 
550
ILAPI ILboolean         ILAPIENTRY ilRemoveLoad(const ILstring Ext);
 
551
ILAPI ILboolean         ILAPIENTRY ilRemoveSave(const ILstring Ext);
 
552
ILAPI ILvoid            ILAPIENTRY ilResetMemory(ILvoid);
 
553
ILAPI ILvoid            ILAPIENTRY ilResetRead(ILvoid);
 
554
ILAPI ILvoid            ILAPIENTRY ilResetWrite(ILvoid);
 
555
ILAPI ILboolean         ILAPIENTRY ilSave(ILenum Type, const ILstring FileName);
 
556
ILAPI ILuint            ILAPIENTRY ilSaveF(ILenum Type, ILHANDLE File);
 
557
ILAPI ILboolean         ILAPIENTRY ilSaveImage(const ILstring FileName);
 
558
ILAPI ILuint            ILAPIENTRY ilSaveL(ILenum Type, ILvoid *Lump, ILuint Size);
 
559
ILAPI ILboolean         ILAPIENTRY ilSavePal(const ILstring FileName);
 
560
ILAPI ILboolean         ILAPIENTRY ilSetData(ILvoid *Data);
 
561
ILAPI ILboolean         ILAPIENTRY ilSetDuration(ILuint Duration);
 
562
ILAPI ILvoid            ILAPIENTRY ilSetInteger(ILenum Mode, ILint Param);
 
563
ILAPI ILvoid            ILAPIENTRY ilSetMemory(mAlloc, mFree);
 
564
ILAPI ILvoid            ILAPIENTRY ilSetPixels(ILint XOff, ILint YOff, ILint ZOff, ILuint Width, ILuint Height, ILuint Depth, ILenum Format, ILenum Type, ILvoid *Data);
 
565
ILAPI ILvoid            ILAPIENTRY ilSetRead(fOpenRProc, fCloseRProc, fEofProc, fGetcProc, fReadProc, fSeekRProc, fTellRProc);
 
566
ILAPI ILvoid            ILAPIENTRY ilSetString(ILenum Mode, const char *String);
 
567
ILAPI ILvoid            ILAPIENTRY ilSetWrite(fOpenWProc, fCloseWProc, fPutcProc, fSeekWProc, fTellWProc, fWriteProc);
 
568
ILAPI ILvoid            ILAPIENTRY ilShutDown(ILvoid);
 
569
ILAPI ILboolean         ILAPIENTRY ilTexImage(ILuint Width, ILuint Height, ILuint Depth, ILubyte Bpp, ILenum Format, ILenum Type, ILvoid *Data);
 
570
ILAPI ILboolean         ILAPIENTRY ilTypeFunc(ILenum Mode);
 
571
 
 
572
ILAPI ILboolean         ILAPIENTRY ilLoadData(const ILstring FileName, ILuint Width, ILuint Height, ILuint Depth, ILubyte Bpp);
 
573
ILAPI ILboolean         ILAPIENTRY ilLoadDataF(ILHANDLE File, ILuint Width, ILuint Height, ILuint Depth, ILubyte Bpp);
 
574
ILAPI ILboolean         ILAPIENTRY ilLoadDataL(ILvoid *Lump, ILuint Size, ILuint Width, ILuint Height, ILuint Depth, ILubyte Bpp);
 
575
ILAPI ILboolean         ILAPIENTRY ilSaveData(const ILstring FileName);
 
576
 
 
577
ILAPI ILboolean         ILAPIENTRY ilLoadFromJpegStruct(ILvoid* JpegDecompressorPtr);
 
578
ILAPI ILboolean         ILAPIENTRY ilSaveFromJpegStruct(ILvoid* JpegCompressorPtr);
 
579
 
 
580
// For all those weirdos that spell "colour" without the 'u'.
 
581
#define ilClearColor    ilClearColour
 
582
#define ilKeyColor      ilKeyColour
 
583
 
 
584
 
 
585
#ifdef __cplusplus
 
586
}
 
587
#endif
 
588
 
 
589
#endif // __IL_H__
 
590
#endif // __il_h__
 
591
 
 
592
#define imemclear(x,y) memset(x,0,y);