openil.pas 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518
  1. unit OpenIL;
  2. //------------------------------------------------------------------------------
  3. //
  4. // ImageLib Sources
  5. // Copyright (C) 2000-2003 by Denton Woods
  6. // Last modified: 06/23/2002 <--Y2K Compliant! =]
  7. //
  8. // Filename: il/il.h
  9. //
  10. // Description: The main include file for DevIL
  11. //
  12. //------------------------------------------------------------------------------
  13. {******************************************************************************}
  14. { Converted to Delphi by Alexander Blach (alexander@abee.de) }
  15. { Version: DevIL v1.6.6 }
  16. { Last modified: 08/08/2003 }
  17. {******************************************************************************}
  18. interface
  19. uses
  20. Windows;
  21. //{$DEFINE IL_NO_BMP}
  22. //{$DEFINE IL_NO_CUT}
  23. //{$DEFINE IL_NO_CHEAD}
  24. //{$DEFINE IL_NO_DCX}
  25. //{$DEFINE IL_NO_DDS}
  26. //{$DEFINE IL_NO_DOOM}
  27. //{$DEFINE IL_NO_GIF}
  28. //{$DEFINE IL_NO_ICO}
  29. //{$DEFINE IL_NO_JPG}
  30. //{$DEFINE IL_NO_LIF}
  31. //{$DEFINE IL_NO_LBM}
  32. //{$DEFINE IL_NO_MDL}
  33. //{$DEFINE IL_NO_PCD}
  34. //{$DEFINE IL_NO_PCX}
  35. //{$DEFINE IL_NO_PIC}
  36. //{$DEFINE IL_NO_PNG}
  37. //{$DEFINE IL_NO_PNM}
  38. //{$DEFINE IL_NO_PSD}
  39. //{$DEFINE IL_NO_RAW}
  40. //{$DEFINE IL_NO_SGI}
  41. //{$DEFINE IL_NO_TGA}
  42. //{$DEFINE IL_NO_TIF}
  43. //{$DEFINE IL_NO_WAL}
  44. //{$DEFINE IL_USE_IJL}
  45. type
  46. TILenum = LongWord;
  47. TILboolean = Byte;
  48. TILbitfield = LongWord;
  49. TILbyte = ShortInt;
  50. TILshort = SmallInt;
  51. TILint = Integer;
  52. TILsizei = Integer;
  53. TILubyte = Byte;
  54. TILushort = Word;
  55. TILuint = LongWord;
  56. TILfloat = Single;
  57. TILclampf = Single;
  58. TILdouble = Double;
  59. TILclampd = Double;
  60. PILboolean = ^Byte;
  61. PILbitfield = ^LongWord;
  62. PILbyte = ^ShortInt;
  63. PILshort = ^SmallInt;
  64. PILint = ^Integer;
  65. PILsizei = ^Integer;
  66. PILubyte = ^Byte;
  67. PILushort = ^Word;
  68. PILuint = ^LongWord;
  69. PILfloat = ^Single;
  70. PILclampf = ^Single;
  71. PILdouble = ^Double;
  72. PILclampd = ^Double;
  73. const
  74. IL_FALSE = 0;
  75. IL_TRUE = 1;
  76. // Matches OpenGL's right now.
  77. IL_COLOUR_INDEX = $1900;
  78. IL_COLOR_INDEX = $1900;
  79. IL_RGB = $1907;
  80. IL_RGBA = $1908;
  81. IL_BGR = $80E0;
  82. IL_BGRA = $80E1;
  83. IL_LUMINANCE = $1909;
  84. IL_BYTE = $1400;
  85. IL_UNSIGNED_BYTE = $1401;
  86. IL_SHORT = $1402;
  87. IL_UNSIGNED_SHORT = $1403;
  88. IL_INT = $1404;
  89. IL_UNSIGNED_INT = $1405;
  90. IL_FLOAT = $1406;
  91. IL_DOUBLE = $140A;
  92. IL_VENDOR = $1F00;
  93. //
  94. // IL-specific 's
  95. //
  96. IL_VERSION_1_5_6 = 1;
  97. IL_VERSION = 156;
  98. IL_LOAD_EXT = $1F01;
  99. IL_SAVE_EXT = $1F02;
  100. // Attribute Bits
  101. IL_ORIGIN_BIT = $00000001;
  102. IL_FILE_BIT = $00000002;
  103. IL_PAL_BIT = $00000004;
  104. IL_FORMAT_BIT = $00000008;
  105. IL_TYPE_BIT = $00000010;
  106. IL_COMPRESS_BIT = $00000020;
  107. IL_LOADFAIL_BIT = $00000040;
  108. IL_FORMAT_SPECIFIC_BIT = $00000080;
  109. IL_ALL_ATTRIB_BITS = $000FFFFF;
  110. // Palette types
  111. IL_PAL_NONE = $0400;
  112. IL_PAL_RGB24 = $0401;
  113. IL_PAL_RGB32 = $0402;
  114. IL_PAL_RGBA32 = $0403;
  115. IL_PAL_BGR24 = $0404;
  116. IL_PAL_BGR32 = $0405;
  117. IL_PAL_BGRA32 = $0406;
  118. // Image types
  119. IL_TYPE_UNKNOWN = $0000;
  120. IL_BMP = $0420;
  121. IL_CUT = $0421;
  122. IL_DOOM = $0422;
  123. IL_DOOM_FLAT = $0423;
  124. IL_ICO = $0424;
  125. IL_JPG = $0424;
  126. IL_LBM = $0426;
  127. IL_PCD = $0427;
  128. IL_PCX = $0428;
  129. IL_PIC = $0429;
  130. IL_PNG = $042A;
  131. IL_PNM = $042B;
  132. IL_SGI = $042C;
  133. IL_TGA = $042D;
  134. IL_TIF = $042E;
  135. IL_CHEAD = $042F;
  136. IL_RAW = $0430;
  137. IL_MDL = $0431;
  138. IL_WAL = $0432;
  139. IL_LIF = $0434;
  140. IL_MNG = $0435;
  141. IL_JNG = $0435;
  142. IL_GIF = $0436;
  143. IL_DDS = $0437;
  144. IL_DCX = $0438;
  145. IL_PSD = $0439;
  146. IL_EXIF = $043A;
  147. IL_PSP = $043B;
  148. IL_PIX = $043C;
  149. IL_PXR = $043D;
  150. IL_XPM = $043E;
  151. IL_JASC_PAL = $0475;
  152. // Error Types
  153. IL_NO_ERROR = $0000;
  154. IL_INVALID_ENUM = $0501;
  155. IL_OUT_OF_MEMORY = $0502;
  156. IL_FORMAT_NOT_SUPPORTED = $0503;
  157. IL_INTERNAL_ERROR = $0504;
  158. IL_INVALID_VALUE = $0505;
  159. IL_ILLEGAL_OPERATION = $0506;
  160. IL_ILLEGAL_FILE_VALUE = $0507;
  161. IL_INVALID_FILE_HEADER = $0508;
  162. IL_INVALID_PARAM = $0509;
  163. IL_COULD_NOT_OPEN_FILE = $050A;
  164. IL_INVALID_EXTENSION = $050B;
  165. IL_FILE_ALREADY_EXISTS = $050C;
  166. IL_OUT_FORMAT_SAME = $050D;
  167. IL_STACK_OVERFLOW = $050E;
  168. IL_STACK_UNDERFLOW = $050F;
  169. IL_INVALID_CONVERSION = $0510;
  170. IL_BAD_DIMENSIONS = $0511;
  171. IL_FILE_READ_ERROR = $0512;
  172. IL_LIB_GIF_ERROR = $05E1;
  173. IL_LIB_JPEG_ERROR = $05E2;
  174. IL_LIB_PNG_ERROR = $05E3;
  175. IL_LIB_TIFF_ERROR = $05E4;
  176. IL_LIB_MNG_ERROR = $05E5;
  177. IL_UNKNOWN_ERROR = $05FF;
  178. // Origin Definitions
  179. IL_ORIGIN_SET = $0600;
  180. IL_ORIGIN_LOWER_LEFT = $0601;
  181. IL_ORIGIN_UPPER_LEFT = $0602;
  182. IL_ORIGIN_MODE = $0603;
  183. // Format and Type Mode Definitions
  184. IL_FORMAT_SET = $0610;
  185. IL_FORMAT_MODE = $0611;
  186. IL_TYPE_SET = $0612;
  187. IL_TYPE_MODE = $0613;
  188. // File definitions
  189. IL_FILE_OVERWRITE = $0620;
  190. IL_FILE_MODE = $0621;
  191. // Palette definitions
  192. IL_CONV_PAL = $0630;
  193. // Load fail definitions
  194. IL_DEFAULT_ON_FAIL = $0632;
  195. // Key colour definitions
  196. IL_USE_KEY_COLOUR = $0635;
  197. IL_USE_KEY_COLOR = $0635;
  198. // Interlace definitions
  199. IL_SAVE_INTERLACED = $0639;
  200. IL_INTERLACE_MODE = $063A;
  201. // Quantization definitions
  202. IL_QUANTIZATION_MODE = $0640;
  203. IL_WU_QUANT = $0641;
  204. IL_NEU_QUANT = $0642;
  205. IL_NEU_QUANT_SAMPLE = $0643;
  206. // Hints
  207. IL_FASTEST = $0660;
  208. IL_LESS_MEM = $0661;
  209. IL_DONT_CARE = $0662;
  210. IL_MEM_SPEED_HINT = $0665;
  211. IL_USE_COMPRESSION = $0666;
  212. IL_NO_COMPRESSION = $0667;
  213. IL_COMPRESSION_HINT = $0668;
  214. // Subimage
  215. IL_SUB_NEXT = $0680;
  216. IL_SUB_MIPMAP = $0681;
  217. IL_SUB_LAYER = $0682;
  218. // Compression definitions (mostly for .oil)
  219. IL_COMPRESS_MODE = $0700;
  220. IL_COMPRESS_NONE = $0701;
  221. IL_COMPRESS_RLE = $0702;
  222. IL_COMPRESS_LZO = $0703;
  223. IL_COMPRESS_ZLIB = $0704;
  224. // File format-specific values
  225. IL_TGA_CREATE_STAMP = $0710;
  226. IL_JPG_QUALITY = $0711;
  227. IL_PNG_INTERLACE = $0712;
  228. IL_TGA_RLE = $0713;
  229. IL_BMP_RLE = $0714;
  230. IL_SGI_RLE = $0715;
  231. IL_TGA_ID_STRING = $0717;
  232. IL_TGA_AUTHNAME_STRING = $0718;
  233. IL_TGA_AUTHCOMMENT_STRING = $0719;
  234. IL_PNG_AUTHNAME_STRING = $071A;
  235. IL_PNG_TITLE_STRING = $071B;
  236. IL_PNG_DESCRIPTION_STRING = $071C;
  237. IL_TIF_DESCRIPTION_STRING = $071D;
  238. IL_TIF_HOSTCOMPUTER_STRING = $071E;
  239. IL_TIF_DOCUMENTNAME_STRING = $071F;
  240. IL_TIF_AUTHNAME_STRING = $0720;
  241. IL_JPG_SAVE_FORMAT = $0721;
  242. IL_CHEAD_HEADER_STRING = $0722;
  243. IL_PCD_PICNUM = $0723;
  244. // DXTC definitions
  245. IL_DXTC_FORMAT = $0705;
  246. IL_DXT1 = $0706;
  247. IL_DXT2 = $0707;
  248. IL_DXT3 = $0708;
  249. IL_DXT4 = $0709;
  250. IL_DXT5 = $070A;
  251. IL_DXT_NO_COMP = $070B;
  252. IL_KEEP_DXTC_DATA = $070C;
  253. IL_DXTC_DATA_FORMAT = $070D;
  254. // Cube map definitions
  255. IL_CUBEMAP_POSITIVEX = $00000400;
  256. IL_CUBEMAP_NEGATIVEX = $00000800;
  257. IL_CUBEMAP_POSITIVEY = $00001000;
  258. IL_CUBEMAP_NEGATIVEY = $00002000;
  259. IL_CUBEMAP_POSITIVEZ = $00004000;
  260. IL_CUBEMAP_NEGATIVEZ = $00008000;
  261. // Values
  262. IL_VERSION_NUM = $0DE2;
  263. IL_IMAGE_WIDTH = $0DE4;
  264. IL_IMAGE_HEIGHT = $0DE5;
  265. IL_IMAGE_DEPTH = $0DE6;
  266. IL_IMAGE_SIZE_OF_DATA = $0DE7;
  267. IL_IMAGE_BPP = $0DE8;
  268. IL_IMAGE_BYTES_PER_PIXEL = $0DE8;
  269. IL_IMAGE_BITS_PER_PIXEL = $0DE9;
  270. IL_IMAGE_FORMAT = $0DEA;
  271. IL_IMAGE_TYPE = $0DEB;
  272. IL_PALETTE_TYPE = $0DEC;
  273. IL_PALETTE_SIZE = $0DED;
  274. IL_PALETTE_BPP = $0DEE;
  275. IL_PALETTE_NUM_COLS = $0DEF;
  276. IL_PALETTE_BASE_TYPE = $0DF0;
  277. IL_NUM_IMAGES = $0DF1;
  278. IL_NUM_MIPMAPS = $0DF2;
  279. IL_NUM_LAYERS = $0DF3;
  280. IL_ACTIVE_IMAGE = $0DF4;
  281. IL_ACTIVE_MIPMAP = $0DF5;
  282. IL_ACTIVE_LAYER = $0DF6;
  283. IL_CUR_IMAGE = $0DF7;
  284. IL_IMAGE_DURATION = $0DF8;
  285. IL_IMAGE_PLANESIZE = $0DF9;
  286. IL_IMAGE_BPC = $0DFA;
  287. IL_IMAGE_OFFX = $0DFB;
  288. IL_IMAGE_OFFY = $0DFC;
  289. IL_IMAGE_CUBEFLAGS = $0DFD;
  290. const
  291. {$IFDEF OPENIL_DEBUG}
  292. OPENILDLL = 'DevIL-d.DLL';
  293. {$ELSE}
  294. OPENILDLL = 'DevIL.DLL';
  295. {$ENDIF}
  296. IL_SEEK_SET = 0;
  297. IL_SEEK_CUR = 1;
  298. IL_SEEK_END = 2;
  299. IL_EOF = -1;
  300. // Callback functions for file reading
  301. type
  302. TILHandle = Pointer;
  303. // Callback functions for file reading
  304. TfCloseRProc = procedure(Handle: TILHandle); stdcall;
  305. TfEofProc = function(Handle: TILHandle): TILboolean; stdcall;
  306. TfGetcProc = function(Handle: TILHandle): TILint; stdcall;
  307. TfOpenRProc = function(FileName: PChar): TILHandle; stdcall;
  308. TfReadProc = function(Buffer: Pointer; Size, Count: TILint;
  309. Handle: TILHandle): TILint; stdcall;
  310. TfSeekRProc = function(Handle: TILHandle; Offset, Origin: TILint): TILint;
  311. stdcall;
  312. TfTellRProc = function(Handle: TILHandle): TILint; stdcall;
  313. // Callback function for file writing
  314. TfCloseWProc = procedure(Handle: TILHandle); stdcall;
  315. TfOpenWProc = function(FileName: PChar): TILHandle; stdcall;
  316. TfPutcProc = function(c: TILubyte; Handle: TILHandle): TILint; stdcall;
  317. TfSeekWProc = function(Handle: TILHandle; Offset, Origin: TILint): TILint;
  318. stdcall;
  319. TfTellWProc = function(Handle: TILHandle): TILint; stdcall;
  320. TfWriteProc = function(Buffer: Pointer; Size: TILuint; Count: TILuint;
  321. Handle: TILHandle): TILint; stdcall;
  322. // Registered format procedures
  323. TIL_LOADPROC = function(FileName: PChar): TILboolean; stdcall;
  324. TIL_SAVEPROC = function(FileName: PChar): TILboolean; stdcall;
  325. // ImageLib Functions
  326. function ilActiveImage(Number: TILuint): TILboolean; stdcall;
  327. external OPENILDLL;
  328. function ilActiveLayer(Number: TILuint): TILboolean; stdcall;
  329. external OPENILDLL;
  330. function ilActiveMipmap(Number: TILuint): TILboolean; stdcall;
  331. external OPENILDLL;
  332. function ilApplyPal(FileName: PChar): TILboolean; stdcall; external OPENILDLL;
  333. function ilApplyProfile(InProfile, OutProfile: PChar): TILboolean; stdcall; external OPENILDLL;
  334. procedure ilBindImage(Image: TILuint); stdcall; external
  335. OPENILDLL;
  336. function ilBlit(Src: TILuint; DestX, DestY, DestZ: TILint; SrcX, SrcY, SrcZ, Width, Height, Depth: TILuint): TILboolean; stdcall; external OPENILDLL;
  337. procedure ilClearColour(Red, Green, Blue, Alpha: TILclampf); stdcall; external OPENILDLL;
  338. procedure ilClearColor(Red, Green, Blue, Alpha: TILclampf); stdcall; external OPENILDLL name 'ilClearColour';
  339. function ilClearImage: TILboolean; stdcall; external OPENILDLL;
  340. function ilCloneCurImage: TILuint; stdcall; external OPENILDLL;
  341. function ilCompressFunc(Mode: TILenum): TILboolean; stdcall; external OPENILDLL;
  342. function ilConvertImage(DestFormat, DestType: TILenum): TILboolean; stdcall; external
  343. OPENILDLL;
  344. function ilConvertPal(DestFormat: TILenum): TILboolean; stdcall; external
  345. OPENILDLL;
  346. function ilCopyImage(Src: TILuint): TILboolean; stdcall; external OPENILDLL;
  347. procedure ilCopyPixels(XOff, YOff, ZOff, Width, Height, Depth: TILuint;
  348. Format, _Type: TILenum; Data: Pointer); stdcall; external OPENILDLL;
  349. procedure ilCreateSubImage(SubType: TILenum; Num: TILuint); stdcall; external OPENILDLL;
  350. procedure ilDefaultImage; stdcall; external OPENILDLL;
  351. procedure ilDeleteImages(Num: TILsizei; const Images: PILuint); stdcall;
  352. external OPENILDLL;
  353. function ilDisable(Mode: TILenum): TILboolean; stdcall; external OPENILDLL;
  354. function ilEnable(Mode: TILenum): TILboolean; stdcall; external OPENILDLL;
  355. function ilFormatFunc(Mode: TILenum): TILboolean; stdcall; external OPENILDLL;
  356. procedure ilGenImages(Num: TILsizei; Images: PILuint); stdcall; external
  357. OPENILDLL;
  358. function ilGetAlpha(_Type: TILenum): PILubyte; stdcall; external OPENILDLL;
  359. function ilGetBoolean(Mode: TILenum): TILboolean; stdcall; external OPENILDLL;
  360. procedure ilGetBooleanv(Mode: TILenum; Param: PILboolean); stdcall; external
  361. OPENILDLL;
  362. function ilGetData: PILubyte; stdcall; external OPENILDLL;
  363. function ilGetDXTCData(Buffer: PILubyte; BufferSize: TILuint; DXTCFormat: TILenum):
  364. TILuint; stdcall; external OPENILDLL;
  365. function ilGetError: TILenum; stdcall; external OPENILDLL;
  366. function ilGetInteger(Mode: TILenum): TILint; stdcall; external OPENILDLL;
  367. procedure ilGetIntegerv(Mode: TILenum; Param: PILint); stdcall; external
  368. OPENILDLL;
  369. function ilGetLumpPos: TILuint; stdcall; external OPENILDLL;
  370. function ilGetPalette: PILubyte; stdcall; external OPENILDLL;
  371. function ilGetString(StringName: TILenum): PChar; stdcall; external OPENILDLL;
  372. procedure ilHint(Target, Mode: TILenum); stdcall; external OPENILDLL;
  373. procedure ilInit; stdcall; external OPENILDLL;
  374. function ilIsDisabled(Mode: TILenum): TILboolean; stdcall; external OPENILDLL;
  375. function ilIsEnabled(Mode: TILenum): TILboolean; stdcall; external OPENILDLL;
  376. function ilIsImage(Image: TILuint): TILboolean; stdcall; external OPENILDLL;
  377. function ilIsValid(_Type: TILenum; FileName: PChar): TILboolean; stdcall;
  378. external OPENILDLL;
  379. function ilIsValidF(_Type: TILenum; _File: TILHandle): TILboolean; stdcall;
  380. external OPENILDLL;
  381. function ilIsValidL(_Type: TILenum; Lump: Pointer; Size: TILuint): TILboolean;
  382. stdcall; external OPENILDLL;
  383. procedure ilKeyColor(Red: TILubyte; Green: TILubyte; Blue: TILubyte; PalNum: TILubyte);
  384. stdcall; external OPENILDLL name 'ilKeyColour';
  385. procedure ilKeyColour(Red: TILubyte; Green: TILubyte; Blue: TILubyte; PalNum: TILubyte);
  386. stdcall; external OPENILDLL;
  387. function ilLoad(_Type: TILenum; FileName: PChar): TILboolean; stdcall;
  388. external OPENILDLL;
  389. function ilLoadF(_Type: TILenum; _File: TILHandle): TILboolean; stdcall;
  390. external OPENILDLL;
  391. function ilLoadImage(FileName: PChar): TILboolean; stdcall; external OPENILDLL;
  392. function ilLoadL(_Type: TILenum; Lump: Pointer; Size: TILuint): TILboolean; stdcall;
  393. external OPENILDLL;
  394. function ilLoadPal(FileName: PChar): TILboolean; stdcall; external OPENILDLL;
  395. function ilOriginFunc(Mode: TILenum): TILboolean; stdcall; external OPENILDLL;
  396. function ilOverlayImage(Src: TILuint; XCoord, YCoord, ZCoord: TILint):
  397. TILboolean; stdcall; external OPENILDLL;
  398. procedure ilPopAttrib; stdcall; external OPENILDLL;
  399. procedure ilPushAttrib(Bits: TILuint); stdcall; external OPENILDLL;
  400. procedure ilRegisterFormat(Format: TILenum); stdcall; external OPENILDLL;
  401. function ilRegisterLoad(Ext: PChar; Load: TIL_LOADPROC): TILboolean; stdcall;
  402. external OPENILDLL;
  403. function ilRegisterMipNum(Num: TILuint): TILboolean; stdcall; external OPENILDLL;
  404. function ilRegisterNumImages(Num: TILuint): TILboolean; stdcall;
  405. external OPENILDLL;
  406. procedure ilRegisterOrigin(Origin: TILenum); stdcall; external OPENILDLL;
  407. procedure ilRegisterPal(Pal: Pointer; Size: TILuint; _Type: TILenum); stdcall;
  408. external OPENILDLL;
  409. function ilRegisterSave(Ext: PChar; Save: TIL_SAVEPROC): TILboolean; stdcall;
  410. external OPENILDLL;
  411. procedure ilRegisterType(_Type: TILenum); stdcall; external OPENILDLL;
  412. function ilRemoveLoad(Ext: PChar): TILboolean; stdcall; external OPENILDLL;
  413. function ilRemoveSave(Ext: PChar): TILboolean; stdcall; external OPENILDLL;
  414. procedure ilResetRead; stdcall; external OPENILDLL;
  415. procedure ilResetWrite; stdcall; external OPENILDLL;
  416. function ilSave(_Type: TILenum; FileName: PChar): TILboolean; stdcall;
  417. external OPENILDLL;
  418. function ilSaveF(_Type: TILenum; _File: TILHandle): TILboolean; stdcall;
  419. external OPENILDLL;
  420. function ilSaveImage(FileName: PChar): TILboolean; stdcall; external OPENILDLL;
  421. function ilSaveL(_Type: TILenum; Lump: Pointer; Size: TILuint): TILboolean;
  422. stdcall; external OPENILDLL;
  423. function ilSavePal(FileName: PChar): TILboolean; stdcall; external
  424. OPENILDLL;
  425. function ilSetData(Data: Pointer): TILboolean; stdcall; external OPENILDLL;
  426. function ilSetDuration(Duration: TILuint): TILboolean; stdcall;
  427. external OPENILDLL;
  428. procedure ilSetInteger(Mode: TILenum; Param: TILint); stdcall; external OPENILDLL;
  429. procedure ilSetPixels(XOff, YOff, ZOff, Width, Height, Depth: TILuint;
  430. Format, _Type: TILenum; Data: Pointer); stdcall; external OPENILDLL;
  431. procedure ilSetRead(Open: TfOpenRProc; Close: TfCloseRProc;
  432. Eof: TfEofProc; Getc: TfGetcProc; Read: TfReadProc; Seek: TfSeekRProc;
  433. Tell: TfTellRProc); stdcall; external OPENILDLL;
  434. procedure ilSetString(Mode: TILenum; Param: PChar); stdcall; external OPENILDLL;
  435. procedure ilSetWrite(Open: TfOpenWProc; Close: TfCloseWProc;
  436. Putc: TfPutcProc; Seek: TfSeekWProc;
  437. Tell: TfTellWProc; Write: TfWriteProc); stdcall; external OPENILDLL;
  438. function ilTexImage(Width, Height, Depth: TILuint; Bpp: TILubyte; Format, _Type:
  439. TILenum; Data: Pointer): TILboolean; stdcall; external OPENILDLL;
  440. function ilTypeFunc(Mode: TILenum): TILboolean; stdcall; external OPENILDLL;
  441. function ilLoadData(FileName: PChar; Width, Height, Depth: TILuint;
  442. Bpp: TILubyte): TILboolean; stdcall; external OPENILDLL;
  443. function ilLoadDataF(_File: TILHandle; Width, Height, Depth: TILuint;
  444. Bpp: TILubyte): TILboolean; stdcall; external OPENILDLL;
  445. function ilLoadDataL(Lump: Pointer; Size: TILuint; Width, Height, Depth: TILuint;
  446. Bpp: TILubyte): TILboolean; stdcall; external OPENILDLL;
  447. function ilSaveData(FileName: PChar): TILboolean; stdcall; external OPENILDLL;
  448. implementation
  449. end.