//----------------------------------------------------------------------------- // // ImageLib Utility Sources // Copyright (C) 2000-2002 by Denton Woods // Last modified: 06/23/2002 <--Y2K Compliant! =] // // Filename: IL/ilu.h // // Description: The main include file for ILU // //----------------------------------------------------------------------------- #ifndef __ilu_h_ #ifndef __ILU_H__ #define __ilu_h_ #define __ILU_H__ #include #ifdef __cplusplus extern "C" { #endif /* #ifdef _WIN32 #if defined(_MSC_VER) || defined(__BORLANDC__) #ifndef IL_STATIC_LIB #pragma comment(lib, "DevIL_DLL.lib") #ifndef _IL_BUILD_LIBRARY #pragma comment(lib, "DevILU_DLL.lib") #endif #else #ifndef _IL_BUILD_LIBRARY #ifdef IL_DEBUG #pragma comment(lib, "DevILU_DBG.lib") #else #pragma comment(lib, "DevILU.lib") #endif//IL_DEBUG #endif #endif #endif #endif */ #define ILU_VERSION_1_6_7 1 #define ILU_VERSION 167 #define ILU_FILTER 0x2600 #define ILU_NEAREST 0x2601 #define ILU_LINEAR 0x2602 #define ILU_BILINEAR 0x2603 #define ILU_SCALE_BOX 0x2604 #define ILU_SCALE_TRIANGLE 0x2605 #define ILU_SCALE_BELL 0x2606 #define ILU_SCALE_BSPLINE 0x2607 #define ILU_SCALE_LANCZOS3 0x2608 #define ILU_SCALE_MITCHELL 0x2609 // Error types #define ILU_INVALID_ENUM 0x0501 #define ILU_OUT_OF_MEMORY 0x0502 #define ILU_INTERNAL_ERROR 0x0504 #define ILU_INVALID_VALUE 0x0505 #define ILU_ILLEGAL_OPERATION 0x0506 #define ILU_INVALID_PARAM 0x0509 // Values #define ILU_PLACEMENT 0x0700 #define ILU_LOWER_LEFT 0x0701 #define ILU_LOWER_RIGHT 0x0702 #define ILU_UPPER_LEFT 0x0703 #define ILU_UPPER_RIGHT 0x0704 #define ILU_CENTER 0x0705 #define ILU_CONVOLUTION_MATRIX 0x0710 #define ILU_VERSION_NUM IL_VERSION_NUM #define ILU_VENDOR IL_VENDOR // Filters /* #define ILU_FILTER_BLUR 0x0803 #define ILU_FILTER_GAUSSIAN_3x3 0x0804 #define ILU_FILTER_GAUSSIAN_5X5 0x0805 #define ILU_FILTER_EMBOSS1 0x0807 #define ILU_FILTER_EMBOSS2 0x0808 #define ILU_FILTER_LAPLACIAN1 0x080A #define ILU_FILTER_LAPLACIAN2 0x080B #define ILU_FILTER_LAPLACIAN3 0x080C #define ILU_FILTER_LAPLACIAN4 0x080D #define ILU_FILTER_SHARPEN1 0x080E #define ILU_FILTER_SHARPEN2 0x080F #define ILU_FILTER_SHARPEN3 0x0810 */ typedef struct ILinfo { ILuint Id; // the image's id ILubyte *Data; // the image's data ILuint Width; // the image's width ILuint Height; // the image's height ILuint Depth; // the image's depth ILubyte Bpp; // bytes per pixel (not bits) of the image ILuint SizeOfData; // the total size of the data (in bytes) ILenum Format; // image format (in IL enum style) ILenum Type; // image type (in IL enum style) ILenum Origin; // origin of the image ILubyte *Palette; // the image's palette ILenum PalType; // palette type ILuint PalSize; // palette size ILenum CubeFlags; // flags for what cube map sides are present ILuint NumNext; // number of images following ILuint NumMips; // number of mipmaps ILuint NumLayers; // number of layers } ILinfo; typedef struct ILpointf { ILfloat x, y; } ILpointf; typedef struct ILpointi { ILint x, y; } ILpointi; // ImageLib Utility Functions ILAPI ILboolean ILAPIENTRY iluAlienify(ILvoid); ILAPI ILboolean ILAPIENTRY iluBlurAvg(ILuint Iter); ILAPI ILboolean ILAPIENTRY iluBlurGaussian(ILuint Iter); ILAPI ILboolean ILAPIENTRY iluBuildMipmaps(ILvoid); ILAPI ILuint ILAPIENTRY iluColoursUsed(ILvoid); ILAPI ILboolean ILAPIENTRY iluCompareImage(ILuint Comp); ILAPI ILboolean ILAPIENTRY iluContrast(ILfloat Contrast); ILAPI ILboolean ILAPIENTRY iluCrop(ILuint XOff, ILuint YOff, ILuint ZOff, ILuint Width, ILuint Height, ILuint Depth); ILAPI ILvoid ILAPIENTRY iluDeleteImage(ILuint Id); ILAPI ILboolean ILAPIENTRY iluEdgeDetectE(ILvoid); ILAPI ILboolean ILAPIENTRY iluEdgeDetectP(ILvoid); ILAPI ILboolean ILAPIENTRY iluEdgeDetectS(ILvoid); ILAPI ILboolean ILAPIENTRY iluEmboss(ILvoid); ILAPI ILboolean ILAPIENTRY iluEnlargeCanvas(ILuint Width, ILuint Height, ILuint Depth); ILAPI ILboolean ILAPIENTRY iluEnlargeImage(ILfloat XDim, ILfloat YDim, ILfloat ZDim); ILAPI ILboolean ILAPIENTRY iluEqualize(ILvoid); ILAPI const ILstring ILAPIENTRY iluErrorString(ILenum Error); ILAPI ILboolean ILAPIENTRY iluFlipImage(ILvoid); ILAPI ILboolean ILAPIENTRY iluGammaCorrect(ILfloat Gamma); ILAPI ILuint ILAPIENTRY iluGenImage(ILvoid); ILAPI ILvoid ILAPIENTRY iluGetImageInfo(ILinfo *Info); ILAPI ILint ILAPIENTRY iluGetInteger(ILenum Mode); ILAPI ILvoid ILAPIENTRY iluGetIntegerv(ILenum Mode, ILint *Param); ILAPI const ILstring ILAPIENTRY iluGetString(ILenum StringName); ILAPI ILvoid ILAPIENTRY iluImageParameter(ILenum PName, ILenum Param); ILAPI ILvoid ILAPIENTRY iluInit(ILvoid); ILAPI ILboolean ILAPIENTRY iluInvertAlpha(ILvoid); ILAPI ILuint ILAPIENTRY iluLoadImage(const ILstring FileName); ILAPI ILboolean ILAPIENTRY iluMirror(ILvoid); ILAPI ILboolean ILAPIENTRY iluNegative(ILvoid); ILAPI ILboolean ILAPIENTRY iluNoisify(ILclampf Tolerance); ILAPI ILboolean ILAPIENTRY iluPixelize(ILuint PixSize); ILAPI ILvoid ILAPIENTRY iluRegionfv(ILpointf *Points, ILuint n); ILAPI ILvoid ILAPIENTRY iluRegioniv(ILpointi *Points, ILuint n); ILAPI ILboolean ILAPIENTRY iluReplaceColour(ILubyte Red, ILubyte Green, ILubyte Blue, ILfloat Tolerance); ILAPI ILboolean ILAPIENTRY iluRotate(ILfloat Angle); ILAPI ILboolean ILAPIENTRY iluRotate3D(ILfloat x, ILfloat y, ILfloat z, ILfloat Angle); ILAPI ILboolean ILAPIENTRY iluSaturate1f(ILfloat Saturation); ILAPI ILboolean ILAPIENTRY iluSaturate4f(ILfloat r, ILfloat g, ILfloat b, ILfloat Saturation); ILAPI ILboolean ILAPIENTRY iluScale(ILuint Width, ILuint Height, ILuint Depth); ILAPI ILboolean ILAPIENTRY iluScaleColours(ILfloat r, ILfloat g, ILfloat b); ILAPI ILboolean ILAPIENTRY iluSharpen(ILfloat Factor, ILuint Iter); ILAPI ILboolean ILAPIENTRY iluSwapColours(ILvoid); ILAPI ILboolean ILAPIENTRY iluWave(ILfloat Angle); #define iluColorsUsed iluColoursUsed #define iluSwapColors iluSwapColours #define iluReplaceColor iluReplaceColour #define iluScaleColor iluScaleColour #ifdef __cplusplus } #endif #endif // __ILU_H__ #endif // __ilu_h_