- Main Page
- Data Structures
- Files

- File List
- Globals

# E:/DevIL/include/IL/ilut.h

Go to the documentation of this file.

    00001 //-----------------------------------------------------------------------------
    00002 //
    00003 // ImageLib Utility Toolkit Sources
    00004 // Copyright (C) 2000-2009 by Denton Woods
    00005 // Last modified: 02/01/2009
    00006 //
    00007 // Filename: IL/ilut.h
    00008 //
    00009 // Description: The main include file for ILUT
    00010 //
    00011 //-----------------------------------------------------------------------------
    00012
    00013 // Doxygen comment
    00018 #ifndef __ilut_h_
    00019 #ifndef __ILUT_H__
    00020
    00021 #define __ilut_h_
    00022 #define __ILUT_H__
    00023
    00024 #include <IL/il.h>
    00025 #include <IL/ilu.h>
    00026
    00027
    00028 //-----------------------------------------------------------------------------
    00029 // Defines
    00030 //-----------------------------------------------------------------------------
    00031
    00032 #define ILUT_VERSION_1_7_5 1
    00033 #define ILUT_VERSION       175
    00034
    00035
    00036 // Attribute Bits
    00037 #define ILUT_OPENGL_BIT      0x00000001
    00038 #define ILUT_D3D_BIT         0x00000002
    00039 #define ILUT_ALL_ATTRIB_BITS 0x000FFFFF
    00040
    00041
    00042 // Error Types
    00043 #define ILUT_INVALID_ENUM        0x0501
    00044 #define ILUT_OUT_OF_MEMORY       0x0502
    00045 #define ILUT_INVALID_VALUE       0x0505
    00046 #define ILUT_ILLEGAL_OPERATION   0x0506
    00047 #define ILUT_INVALID_PARAM       0x0509
    00048 #define ILUT_COULD_NOT_OPEN_FILE 0x050A
    00049 #define ILUT_STACK_OVERFLOW      0x050E
    00050 #define ILUT_STACK_UNDERFLOW     0x050F
    00051 #define ILUT_BAD_DIMENSIONS      0x0511
    00052 #define ILUT_NOT_SUPPORTED       0x0550
    00053
    00054
    00055 // State Definitions
    00056 #define ILUT_PALETTE_MODE         0x0600
    00057 #define ILUT_OPENGL_CONV          0x0610
    00058 #define ILUT_D3D_MIPLEVELS        0x0620
    00059 #define ILUT_MAXTEX_WIDTH         0x0630
    00060 #define ILUT_MAXTEX_HEIGHT        0x0631
    00061 #define ILUT_MAXTEX_DEPTH         0x0632
    00062 #define ILUT_GL_USE_S3TC          0x0634
    00063 #define ILUT_D3D_USE_DXTC         0x0634
    00064 #define ILUT_GL_GEN_S3TC          0x0635
    00065 #define ILUT_D3D_GEN_DXTC         0x0635
    00066 #define ILUT_S3TC_FORMAT          0x0705
    00067 #define ILUT_DXTC_FORMAT          0x0705
    00068 #define ILUT_D3D_POOL             0x0706
    00069 #define ILUT_D3D_ALPHA_KEY_COLOR  0x0707
    00070 #define ILUT_D3D_ALPHA_KEY_COLOUR 0x0707
    00071 #define ILUT_FORCE_INTEGER_FORMAT 0x0636
    00072
    00073 //This new state does automatic texture target detection
    00074 //if enabled. Currently, only cubemap detection is supported.
    00075 //if the current image is no cubemap, the 2d texture is chosen.
    00076 #define ILUT_GL_AUTODETECT_TEXTURE_TARGET 0x0807
    00077
    00078
    00079 // Values
    00080 #define ILUT_VERSION_NUM IL_VERSION_NUM
    00081 #define ILUT_VENDOR      IL_VENDOR
    00082
    00083 // The different rendering api's...more to be added later?
    00084 #define ILUT_OPENGL     0
    00085 #define ILUT_ALLEGRO    1
    00086 #define ILUT_WIN32      2
    00087 #define ILUT_DIRECT3D8  3
    00088 #define ILUT_DIRECT3D9  4
    00089 #define ILUT_X11        5
    00090 #define ILUT_DIRECT3D10 6
    00091
    00092 /*
    00093 // Includes specific config
    00094 #ifdef DJGPP
    00095         #define ILUT_USE_ALLEGRO
    00096 #elif _WIN32_WCE
    00097         #define ILUT_USE_WIN32
    00098 #elif _WIN32
    00099         //#ifdef __GNUC__ //__CYGWIN32__ (Cygwin seems to not define this with DevIL builds)
    00100         #define ILUT_USE_WIN32
    00101                 #include "IL/config.h"
    00102
    00103                 // Temporary fix for the SDL main() linker bug.
    00104                 //#ifdef  ILUT_USE_SDL
    00105                 //#undef  ILUT_USE_SDL
    00106                 //#endif//ILUT_USE_SDL
    00107
    00108         //#else
    00109         //      #define ILUT_USE_WIN32
    00110         //      #define ILUT_USE_OPENGL
    00111         //      #define ILUT_USE_SDL
    00112         //      #define ILUT_USE_DIRECTX8
    00113         //#endif
    00114 #elif BEOS  // Don't know the #define
    00115         #define ILUT_USE_BEOS
    00116         #define ILUT_USE_OPENGL
    00117 #elif MACOSX
    00118         #define ILUT_USE_OPENGL
    00119 #else
    00120
    00121         // We are surely using a *nix so the configure script
    00122         // may have written the configured config.h header
    00123         #include "IL/config.h"
    00124 #endif
    00125 */
    00126
    00127 #if (defined(_WIN32) || defined(_WIN64))
    00128         #if (defined(IL_USE_PRAGMA_LIBS)) && (!defined(_IL_BUILD_LIBRARY))
    00129                 #if defined(_MSC_VER) || defined(__BORLANDC__)
    00130                         #pragma comment(lib, "ILUT.lib")
    00131                 #endif
    00132         #endif
    00133
    00134         #include <IL/ilut_config.h>
    00135 #endif
    00136
    00137
    00138
    00139 //this should remain private and hidden
    00140 //#include "IL/config.h"
    00141
    00143 // OpenGL
    00145
    00146 #ifdef ILUT_USE_OPENGL
    00147         #if defined(_MSC_VER) || defined(_WIN32)
    00148                 //#define WIN32_LEAN_AND_MEAN
    00149                 #include <windows.h>
    00150         #endif//_MSC_VER
    00151
    00152         #ifdef __APPLE__
    00153                 #include <OpenGL/gl.h>
    00154                 #include <OpenGL/glu.h>
    00155         #else
    00156                 #include <GL/gl.h>
    00157                 #include <GL/glu.h>
    00158         #endif//__APPLE__
    00159 #endif
    00160
    00161
    00162 #ifdef ILUT_USE_WIN32
    00163         //#define WIN32_LEAN_AND_MEAN
    00164         #ifdef _DEBUG
    00165                 #define _CRTDBG_MAP_ALLOC
    00166                 #include <stdlib.h>
    00167                 #ifndef _WIN32_WCE
    00168                         #include <crtdbg.h>
    00169                 #endif
    00170         #endif
    00171         #include <windows.h>
    00172 #endif
    00173
    00174
    00175 //
    00176 // If we can avoid including these in all cases thing tend to break less
    00177 // and we can keep all of them defined as available
    00178 //
    00179 // Kriss
    00180 //
    00181
    00182 // ImageLib Utility Toolkit's Allegro Functions
    00183 #ifdef ILUT_USE_ALLEGRO
    00184 //      #include <allegro.h>
    00185 #endif//ILUT_USE_ALLEGRO
    00186
    00187 #ifdef ILUT_USE_SDL
    00188 //      #include <SDL.h>
    00189 #endif
    00190
    00191 #ifdef ILUT_USE_DIRECTX8
    00192         #include <d3d8.h>
    00193 #endif//ILUT_USE_DIRECTX9
    00194
    00195 #ifdef ILUT_USE_DIRECTX9
    00196         #include <d3d9.h>
    00197 #endif//ILUT_USE_DIRECTX9
    00198
    00199 #ifdef ILUT_USE_DIRECTX10
    00200         #pragma warning(push)
    00201         #pragma warning(disable : 4201)  // Disables 'nonstandard extension used : nameless struct/union' warning
    00202         #include <rpcsal.h>
    00203         #include <sal.h>
    00204         #include <d3d10.h>
    00205         #pragma warning(pop)
    00206 #endif//ILUT_USE_DIRECTX10
    00207
    00208 #ifdef ILUT_USE_X11
    00209         #include <X11/Xlib.h>
    00210         #include <X11/Xutil.h>
    00211 #ifdef ILUT_USE_XSHM
    00212         #include <sys/ipc.h>
    00213         #include <sys/shm.h>
    00214         #include <X11/extensions/XShm.h>
    00215 #endif//ILUT_USE_XSHM
    00216 #endif//ILUT_USE_X11
    00217
    00218
    00219
    00220 //-----------------------------------------------------------------------------
    00221 // Functions
    00222 //-----------------------------------------------------------------------------
    00223
    00224 #ifdef __cplusplus
    00225 extern "C" {
    00226 #endif
    00227
    00228 // ImageLib Utility Toolkit Functions
    00229 ILAPI ILboolean         ILAPIENTRY ilutDisable(ILenum Mode);
    00230 ILAPI ILboolean         ILAPIENTRY ilutEnable(ILenum Mode);
    00231 ILAPI ILboolean         ILAPIENTRY ilutGetBoolean(ILenum Mode);
    00232 ILAPI void          ILAPIENTRY ilutGetBooleanv(ILenum Mode, ILboolean *Param);
    00233 ILAPI ILint                     ILAPIENTRY ilutGetInteger(ILenum Mode);
    00234 ILAPI void          ILAPIENTRY ilutGetIntegerv(ILenum Mode, ILint *Param);
    00235 ILAPI ILstring      ILAPIENTRY ilutGetString(ILenum StringName);
    00236 ILAPI void          ILAPIENTRY ilutInit(void);
    00237 ILAPI ILboolean     ILAPIENTRY ilutIsDisabled(ILenum Mode);
    00238 ILAPI ILboolean     ILAPIENTRY ilutIsEnabled(ILenum Mode);
    00239 ILAPI void          ILAPIENTRY ilutPopAttrib(void);
    00240 ILAPI void          ILAPIENTRY ilutPushAttrib(ILuint Bits);
    00241 ILAPI void          ILAPIENTRY ilutSetInteger(ILenum Mode, ILint Param);
    00242
    00243 ILAPI ILboolean     ILAPIENTRY ilutRenderer(ILenum Renderer);
    00244
    00245
    00246 // ImageLib Utility Toolkit's OpenGL Functions
    00247 #ifdef ILUT_USE_OPENGL
    00248         ILAPI GLuint    ILAPIENTRY ilutGLBindTexImage();
    00249         ILAPI GLuint    ILAPIENTRY ilutGLBindMipmaps(void);
    00250         ILAPI ILboolean ILAPIENTRY ilutGLBuildMipmaps(void);
    00251         ILAPI GLuint    ILAPIENTRY ilutGLLoadImage(ILstring FileName);
    00252         ILAPI ILboolean ILAPIENTRY ilutGLScreen(void);
    00253         ILAPI ILboolean ILAPIENTRY ilutGLScreenie(void);
    00254         ILAPI ILboolean ILAPIENTRY ilutGLSaveImage(ILstring FileName, GLuint TexID);
    00255         ILAPI ILboolean ILAPIENTRY ilutGLSubTex2D(GLuint TexID, ILuint XOff, ILuint YOff);
    00256         ILAPI ILboolean ILAPIENTRY ilutGLSubTex3D(GLuint TexID, ILuint XOff, ILuint YOff, ILuint ZOff);
    00257         ILAPI ILboolean ILAPIENTRY ilutGLSetTex2D(GLuint TexID);
    00258         ILAPI ILboolean ILAPIENTRY ilutGLSetTex3D(GLuint TexID);
    00259         ILAPI ILboolean ILAPIENTRY ilutGLTexImage(GLuint Level);
    00260         ILAPI ILboolean ILAPIENTRY ilutGLSubTex(GLuint TexID, ILuint XOff, ILuint YOff);
    00261
    00262         ILAPI ILboolean ILAPIENTRY ilutGLSetTex(GLuint TexID);  // Deprecated - use ilutGLSetTex2D.
    00263         ILAPI ILboolean ILAPIENTRY ilutGLSubTex(GLuint TexID, ILuint XOff, ILuint YOff);  // Use ilutGLSubTex2D.
    00264 #endif//ILUT_USE_OPENGL
    00265
    00266
    00267 // ImageLib Utility Toolkit's Allegro Functions
    00268 #ifdef ILUT_USE_ALLEGRO
    00269         #ifdef __cplusplus
    00270         extern "C" {
    00271         #endif
    00272                 #include <allegro.h>
    00273         #ifdef __cplusplus
    00274         }
    00275         #endif
    00276
    00277         ILAPI BITMAP* ILAPIENTRY ilutAllegLoadImage(ILstring FileName);
    00278         ILAPI BITMAP* ILAPIENTRY ilutConvertToAlleg(PALETTE Pal);
    00279 #endif//ILUT_USE_ALLEGRO
    00280
    00281
    00282 // ImageLib Utility Toolkit's SDL Functions
    00283 #ifdef ILUT_USE_SDL
    00284         ILAPI struct SDL_Surface* ILAPIENTRY ilutConvertToSDLSurface(unsigned int flags);
    00285         ILAPI struct SDL_Surface* ILAPIENTRY ilutSDLSurfaceLoadImage(ILstring FileName);
    00286         ILAPI ILboolean    ILAPIENTRY ilutSDLSurfaceFromBitmap(struct SDL_Surface *Bitmap);
    00287 #endif//ILUT_USE_SDL
    00288
    00289
    00290 // ImageLib Utility Toolkit's BeOS Functions
    00291 #ifdef  ILUT_USE_BEOS
    00292         ILAPI BBitmap ILAPIENTRY ilutConvertToBBitmap(void);
    00293 #endif//ILUT_USE_BEOS
    00294
    00295
    00296 // ImageLib Utility Toolkit's Win32 GDI Functions
    00297 #ifdef ILUT_USE_WIN32
    00298         ILAPI HBITMAP   ILAPIENTRY ilutConvertToHBitmap(HDC hDC);
    00299         ILAPI HBITMAP   ILAPIENTRY ilutConvertSliceToHBitmap(HDC hDC, ILuint slice);
    00300         ILAPI void      ILAPIENTRY ilutFreePaddedData(ILubyte *Data);
    00301         ILAPI void      ILAPIENTRY ilutGetBmpInfo(BITMAPINFO *Info);
    00302         ILAPI HPALETTE  ILAPIENTRY ilutGetHPal(void);
    00303         ILAPI ILubyte*  ILAPIENTRY ilutGetPaddedData(void);
    00304         ILAPI ILboolean ILAPIENTRY ilutGetWinClipboard(void);
    00305         ILAPI ILboolean ILAPIENTRY ilutLoadResource(HINSTANCE hInst, ILint ID, ILstring ResourceType, ILenum Type);
    00306         ILAPI ILboolean ILAPIENTRY ilutSetHBitmap(HBITMAP Bitmap);
    00307         ILAPI ILboolean ILAPIENTRY ilutSetHPal(HPALETTE Pal);
    00308         ILAPI ILboolean ILAPIENTRY ilutSetWinClipboard(void);
    00309         ILAPI HBITMAP   ILAPIENTRY ilutWinLoadImage(ILstring FileName, HDC hDC);
    00310         ILAPI ILboolean ILAPIENTRY ilutWinLoadUrl(ILstring Url);
    00311         ILAPI ILboolean ILAPIENTRY ilutWinPrint(ILuint XPos, ILuint YPos, ILuint Width, ILuint Height, HDC hDC);
    00312         ILAPI ILboolean ILAPIENTRY ilutWinSaveImage(ILstring FileName, HBITMAP Bitmap);
    00313 #endif//ILUT_USE_WIN32
    00314
    00315 // ImageLib Utility Toolkit's DirectX 8 Functions
    00316 #ifdef ILUT_USE_DIRECTX8
    00317 //      ILAPI void      ILAPIENTRY ilutD3D8MipFunc(ILuint NumLevels);
    00318         ILAPI struct IDirect3DTexture8* ILAPIENTRY ilutD3D8Texture(struct IDirect3DDevice8 *Device);
    00319         ILAPI struct IDirect3DVolumeTexture8* ILAPIENTRY ilutD3D8VolumeTexture(struct IDirect3DDevice8 *Device);
    00320         ILAPI ILboolean ILAPIENTRY ilutD3D8TexFromFile(struct IDirect3DDevice8 *Device, char *FileName, struct IDirect3DTexture8 **Texture);
    00321         ILAPI ILboolean ILAPIENTRY ilutD3D8VolTexFromFile(struct IDirect3DDevice8 *Device, char *FileName, struct IDirect3DVolumeTexture8 **Texture);
    00322         ILAPI ILboolean ILAPIENTRY ilutD3D8TexFromFileInMemory(struct IDirect3DDevice8 *Device, void *Lump, ILuint Size, struct IDirect3DTexture8 **Texture);
    00323         ILAPI ILboolean ILAPIENTRY ilutD3D8VolTexFromFileInMemory(struct IDirect3DDevice8 *Device, void *Lump, ILuint Size, struct IDirect3DVolumeTexture8 **Texture);
    00324         ILAPI ILboolean ILAPIENTRY ilutD3D8TexFromFileHandle(struct IDirect3DDevice8 *Device, ILHANDLE File, struct IDirect3DTexture8 **Texture);
    00325         ILAPI ILboolean ILAPIENTRY ilutD3D8VolTexFromFileHandle(struct IDirect3DDevice8 *Device, ILHANDLE File, struct IDirect3DVolumeTexture8 **Texture);
    00326         // These two are not tested yet.
    00327         ILAPI ILboolean ILAPIENTRY ilutD3D8TexFromResource(struct IDirect3DDevice8 *Device, HMODULE SrcModule, char *SrcResource, struct IDirect3DTexture8 **Texture);
    00328         ILAPI ILboolean ILAPIENTRY ilutD3D8VolTexFromResource(struct IDirect3DDevice8 *Device, HMODULE SrcModule, char *SrcResource, struct IDirect3DVolumeTexture8 **Texture);
    00329         ILAPI ILboolean ILAPIENTRY ilutD3D8LoadSurface(struct IDirect3DDevice8 *Device, struct IDirect3DSurface8 *Surface);
    00330 #endif//ILUT_USE_DIRECTX8
    00331
    00332 #ifdef ILUT_USE_DIRECTX9
    00333         #pragma warning(push)
    00334         #pragma warning(disable : 4115)  // Disables 'named type definition in parentheses' warning
    00335 //      ILAPI void  ILAPIENTRY ilutD3D9MipFunc(ILuint NumLevels);
    00336         ILAPI struct IDirect3DTexture9*       ILAPIENTRY ilutD3D9Texture         (struct IDirect3DDevice9* Device);
    00337         ILAPI struct IDirect3DVolumeTexture9* ILAPIENTRY ilutD3D9VolumeTexture   (struct IDirect3DDevice9* Device);
    00338     ILAPI struct IDirect3DCubeTexture9*       ILAPIENTRY ilutD3D9CubeTexture (struct IDirect3DDevice9* Device);
    00339
    00340     ILAPI ILboolean ILAPIENTRY ilutD3D9CubeTexFromFile(struct IDirect3DDevice9 *Device, ILconst_string FileName, struct IDirect3DCubeTexture9 **Texture);
    00341     ILAPI ILboolean ILAPIENTRY ilutD3D9CubeTexFromFileInMemory(struct IDirect3DDevice9 *Device, void *Lump, ILuint Size, struct IDirect3DCubeTexture9 **Texture);
    00342     ILAPI ILboolean ILAPIENTRY ilutD3D9CubeTexFromFileHandle(struct IDirect3DDevice9 *Device, ILHANDLE File, struct IDirect3DCubeTexture9 **Texture);
    00343     ILAPI ILboolean ILAPIENTRY ilutD3D9CubeTexFromResource(struct IDirect3DDevice9 *Device, HMODULE SrcModule, ILconst_string SrcResource, struct IDirect3DCubeTexture9 **Texture);
    00344
    00345         ILAPI ILboolean ILAPIENTRY ilutD3D9TexFromFile(struct IDirect3DDevice9 *Device, ILconst_string FileName, struct IDirect3DTexture9 **Texture);
    00346         ILAPI ILboolean ILAPIENTRY ilutD3D9VolTexFromFile(struct IDirect3DDevice9 *Device, ILconst_string FileName, struct IDirect3DVolumeTexture9 **Texture);
    00347         ILAPI ILboolean ILAPIENTRY ilutD3D9TexFromFileInMemory(struct IDirect3DDevice9 *Device, void *Lump, ILuint Size, struct IDirect3DTexture9 **Texture);
    00348         ILAPI ILboolean ILAPIENTRY ilutD3D9VolTexFromFileInMemory(struct IDirect3DDevice9 *Device, void *Lump, ILuint Size, struct IDirect3DVolumeTexture9 **Texture);
    00349         ILAPI ILboolean ILAPIENTRY ilutD3D9TexFromFileHandle(struct IDirect3DDevice9 *Device, ILHANDLE File, struct IDirect3DTexture9 **Texture);
    00350         ILAPI ILboolean ILAPIENTRY ilutD3D9VolTexFromFileHandle(struct IDirect3DDevice9 *Device, ILHANDLE File, struct IDirect3DVolumeTexture9 **Texture);
    00351
    00352         // These three are not tested yet.
    00353         ILAPI ILboolean ILAPIENTRY ilutD3D9TexFromResource(struct IDirect3DDevice9 *Device, HMODULE SrcModule, ILconst_string SrcResource, struct IDirect3DTexture9 **Texture);
    00354         ILAPI ILboolean ILAPIENTRY ilutD3D9VolTexFromResource(struct IDirect3DDevice9 *Device, HMODULE SrcModule, ILconst_string SrcResource, struct IDirect3DVolumeTexture9 **Texture);
    00355         ILAPI ILboolean ILAPIENTRY ilutD3D9LoadSurface(struct IDirect3DDevice9 *Device, struct IDirect3DSurface9 *Surface);
    00356         #pragma warning(pop)
    00357 #endif//ILUT_USE_DIRECTX9
    00358
    00359 #ifdef ILUT_USE_DIRECTX10
    00360         ILAPI ID3D10Texture2D* ILAPIENTRY ilutD3D10Texture(ID3D10Device *Device);
    00361         ILAPI ILboolean ILAPIENTRY ilutD3D10TexFromFile(ID3D10Device *Device, ILconst_string FileName, ID3D10Texture2D **Texture);
    00362         ILAPI ILboolean ILAPIENTRY ilutD3D10TexFromFileInMemory(ID3D10Device *Device, void *Lump, ILuint Size, ID3D10Texture2D **Texture);
    00363         ILAPI ILboolean ILAPIENTRY ilutD3D10TexFromResource(ID3D10Device *Device, HMODULE SrcModule, ILconst_string SrcResource, ID3D10Texture2D **Texture);
    00364         ILAPI ILboolean ILAPIENTRY ilutD3D10TexFromFileHandle(ID3D10Device *Device, ILHANDLE File, ID3D10Texture2D **Texture);
    00365 #endif//ILUT_USE_DIRECTX10
    00366
    00367
    00368
    00369 #ifdef ILUT_USE_X11
    00370         ILAPI XImage * ILAPIENTRY ilutXCreateImage( Display* );
    00371         ILAPI Pixmap ILAPIENTRY ilutXCreatePixmap( Display*,Drawable );
    00372         ILAPI XImage * ILAPIENTRY ilutXLoadImage( Display*,char* );
    00373         ILAPI Pixmap ILAPIENTRY ilutXLoadPixmap( Display*,Drawable,char* );
    00374 #ifdef ILUT_USE_XSHM
    00375         ILAPI XImage * ILAPIENTRY ilutXShmCreateImage( Display*,XShmSegmentInfo* );
    00376         ILAPI void ILAPIENTRY ilutXShmDestroyImage( Display*,XImage*,XShmSegmentInfo* );
    00377         ILAPI Pixmap ILAPIENTRY ilutXShmCreatePixmap( Display*,Drawable,XShmSegmentInfo* );
    00378         ILAPI void ILAPIENTRY ilutXShmFreePixmap( Display*,Pixmap,XShmSegmentInfo* );
    00379         ILAPI XImage * ILAPIENTRY ilutXShmLoadImage( Display*,char*,XShmSegmentInfo* );
    00380         ILAPI Pixmap ILAPIENTRY ilutXShmLoadPixmap( Display*,Drawable,char*,XShmSegmentInfo* );
    00381 #endif//ILUT_USE_XSHM
    00382 #endif//ILUT_USE_X11
    00383
    00384
    00385 #ifdef __cplusplus
    00386 }
    00387 #endif
    00388
    00389 #endif // __ILUT_H__
    00390 #endif // __ilut_h_