il_internal.h 20 KB

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