- Main Page
- Data Structures
- Files

- File List
- Globals

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

Go to the documentation of this file.

    00001 //-----------------------------------------------------------------------------
    00002 //
    00003 // ImageLib Utility Sources
    00004 // Copyright (C) 2000-2009 by Denton Woods
    00005 // Last modified: 02/01/2009
    00006 //
    00007 // Filename: IL/ilu.h
    00008 //
    00009 // Description: The main include file for ILU
    00010 //
    00011 //-----------------------------------------------------------------------------
    00012
    00013 // Doxygen comment
    00018 #ifndef __ilu_h_
    00019 #ifndef __ILU_H__
    00020
    00021 #define __ilu_h_
    00022 #define __ILU_H__
    00023
    00024 #include <IL/il.h>
    00025
    00026 #ifdef __cplusplus
    00027 extern "C" {
    00028 #endif
    00029
    00030
    00031 #ifdef _WIN32
    00032         #if (defined(IL_USE_PRAGMA_LIBS)) && (!defined(_IL_BUILD_LIBRARY))
    00033                 #if defined(_MSC_VER) || defined(__BORLANDC__)
    00034                         #pragma comment(lib, "ILU.lib")
    00035                 #endif
    00036         #endif
    00037 #endif
    00038
    00039
    00040 #define ILU_VERSION_1_7_5 1
    00041 #define ILU_VERSION       175
    00042
    00043
    00044 #define ILU_FILTER         0x2600
    00045 #define ILU_NEAREST        0x2601
    00046 #define ILU_LINEAR         0x2602
    00047 #define ILU_BILINEAR       0x2603
    00048 #define ILU_SCALE_BOX      0x2604
    00049 #define ILU_SCALE_TRIANGLE 0x2605
    00050 #define ILU_SCALE_BELL     0x2606
    00051 #define ILU_SCALE_BSPLINE  0x2607
    00052 #define ILU_SCALE_LANCZOS3 0x2608
    00053 #define ILU_SCALE_MITCHELL 0x2609
    00054
    00055
    00056 // Error types
    00057 #define ILU_INVALID_ENUM      0x0501
    00058 #define ILU_OUT_OF_MEMORY     0x0502
    00059 #define ILU_INTERNAL_ERROR    0x0504
    00060 #define ILU_INVALID_VALUE     0x0505
    00061 #define ILU_ILLEGAL_OPERATION 0x0506
    00062 #define ILU_INVALID_PARAM     0x0509
    00063
    00064
    00065 // Values
    00066 #define ILU_PLACEMENT          0x0700
    00067 #define ILU_LOWER_LEFT         0x0701
    00068 #define ILU_LOWER_RIGHT        0x0702
    00069 #define ILU_UPPER_LEFT         0x0703
    00070 #define ILU_UPPER_RIGHT        0x0704
    00071 #define ILU_CENTER             0x0705
    00072 #define ILU_CONVOLUTION_MATRIX 0x0710
    00073
    00074 #define ILU_VERSION_NUM IL_VERSION_NUM
    00075 #define ILU_VENDOR      IL_VENDOR
    00076
    00077
    00078 // Languages
    00079 #define ILU_ENGLISH            0x0800
    00080 #define ILU_ARABIC             0x0801
    00081 #define ILU_DUTCH              0x0802
    00082 #define ILU_JAPANESE           0x0803
    00083 #define ILU_SPANISH            0x0804
    00084 #define ILU_GERMAN             0x0805
    00085
    00086
    00087 // Filters
    00088 /*
    00089 #define ILU_FILTER_BLUR         0x0803
    00090 #define ILU_FILTER_GAUSSIAN_3x3 0x0804
    00091 #define ILU_FILTER_GAUSSIAN_5X5 0x0805
    00092 #define ILU_FILTER_EMBOSS1      0x0807
    00093 #define ILU_FILTER_EMBOSS2      0x0808
    00094 #define ILU_FILTER_LAPLACIAN1   0x080A
    00095 #define ILU_FILTER_LAPLACIAN2   0x080B
    00096 #define ILU_FILTER_LAPLACIAN3   0x080C
    00097 #define ILU_FILTER_LAPLACIAN4   0x080D
    00098 #define ILU_FILTER_SHARPEN1     0x080E
    00099 #define ILU_FILTER_SHARPEN2     0x080F
    00100 #define ILU_FILTER_SHARPEN3     0x0810
    00101 */
    00102
    00103
    00104 typedef struct ILinfo
    00105 {
    00106         ILuint  Id;         // the image's id
    00107         ILubyte *Data;      // the image's data
    00108         ILuint  Width;      // the image's width
    00109         ILuint  Height;     // the image's height
    00110         ILuint  Depth;      // the image's depth
    00111         ILubyte Bpp;        // bytes per pixel (not bits) of the image
    00112         ILuint  SizeOfData; // the total size of the data (in bytes)
    00113         ILenum  Format;     // image format (in IL enum style)
    00114         ILenum  Type;       // image type (in IL enum style)
    00115         ILenum  Origin;     // origin of the image
    00116         ILubyte *Palette;   // the image's palette
    00117         ILenum  PalType;    // palette type
    00118         ILuint  PalSize;    // palette size
    00119         ILenum  CubeFlags;  // flags for what cube map sides are present
    00120         ILuint  NumNext;    // number of images following
    00121         ILuint  NumMips;    // number of mipmaps
    00122         ILuint  NumLayers;  // number of layers
    00123 } ILinfo;
    00124
    00125
    00126 typedef struct ILpointf {
    00127         ILfloat x;
    00128         ILfloat y;
    00129 } ILpointf;
    00130
    00131 typedef struct ILpointi {
    00132         ILint x;
    00133         ILint y;
    00134 } ILpointi;
    00135
    00136 ILAPI ILboolean      ILAPIENTRY iluAlienify(void);
    00137 ILAPI ILboolean      ILAPIENTRY iluBlurAvg(ILuint Iter);
    00138 ILAPI ILboolean      ILAPIENTRY iluBlurGaussian(ILuint Iter);
    00139 ILAPI ILboolean      ILAPIENTRY iluBuildMipmaps(void);
    00140 ILAPI ILuint         ILAPIENTRY iluColoursUsed(void);
    00141 ILAPI ILboolean      ILAPIENTRY iluCompareImage(ILuint Comp);
    00142 ILAPI ILboolean      ILAPIENTRY iluContrast(ILfloat Contrast);
    00143 ILAPI ILboolean      ILAPIENTRY iluCrop(ILuint XOff, ILuint YOff, ILuint ZOff, ILuint Width, ILuint Height, ILuint Depth);
    00144 ILAPI void           ILAPIENTRY iluDeleteImage(ILuint Id); // Deprecated
    00145 ILAPI ILboolean      ILAPIENTRY iluEdgeDetectE(void);
    00146 ILAPI ILboolean      ILAPIENTRY iluEdgeDetectP(void);
    00147 ILAPI ILboolean      ILAPIENTRY iluEdgeDetectS(void);
    00148 ILAPI ILboolean      ILAPIENTRY iluEmboss(void);
    00149 ILAPI ILboolean      ILAPIENTRY iluEnlargeCanvas(ILuint Width, ILuint Height, ILuint Depth);
    00150 ILAPI ILboolean      ILAPIENTRY iluEnlargeImage(ILfloat XDim, ILfloat YDim, ILfloat ZDim);
    00151 ILAPI ILboolean      ILAPIENTRY iluEqualize(void);
    00152 ILAPI ILconst_string             ILAPIENTRY iluErrorString(ILenum Error);
    00153 ILAPI ILboolean      ILAPIENTRY iluConvolution(ILint *matrix, ILint scale, ILint bias);
    00154 ILAPI ILboolean      ILAPIENTRY iluFlipImage(void);
    00155 ILAPI ILboolean      ILAPIENTRY iluGammaCorrect(ILfloat Gamma);
    00156 ILAPI ILuint         ILAPIENTRY iluGenImage(void); // Deprecated
    00157 ILAPI void           ILAPIENTRY iluGetImageInfo(ILinfo *Info);
    00158 ILAPI ILint          ILAPIENTRY iluGetInteger(ILenum Mode);
    00159 ILAPI void           ILAPIENTRY iluGetIntegerv(ILenum Mode, ILint *Param);
    00160 ILAPI ILstring           ILAPIENTRY iluGetString(ILenum StringName);
    00161 ILAPI void           ILAPIENTRY iluImageParameter(ILenum PName, ILenum Param);
    00162 ILAPI void           ILAPIENTRY iluInit(void);
    00163 ILAPI ILboolean      ILAPIENTRY iluInvertAlpha(void);
    00164 ILAPI ILuint         ILAPIENTRY iluLoadImage(ILconst_string FileName);
    00165 ILAPI ILboolean      ILAPIENTRY iluMirror(void);
    00166 ILAPI ILboolean      ILAPIENTRY iluNegative(void);
    00167 ILAPI ILboolean      ILAPIENTRY iluNoisify(ILclampf Tolerance);
    00168 ILAPI ILboolean      ILAPIENTRY iluPixelize(ILuint PixSize);
    00169 ILAPI void           ILAPIENTRY iluRegionfv(ILpointf *Points, ILuint n);
    00170 ILAPI void           ILAPIENTRY iluRegioniv(ILpointi *Points, ILuint n);
    00171 ILAPI ILboolean      ILAPIENTRY iluReplaceColour(ILubyte Red, ILubyte Green, ILubyte Blue, ILfloat Tolerance);
    00172 ILAPI ILboolean      ILAPIENTRY iluRotate(ILfloat Angle);
    00173 ILAPI ILboolean      ILAPIENTRY iluRotate3D(ILfloat x, ILfloat y, ILfloat z, ILfloat Angle);
    00174 ILAPI ILboolean      ILAPIENTRY iluSaturate1f(ILfloat Saturation);
    00175 ILAPI ILboolean      ILAPIENTRY iluSaturate4f(ILfloat r, ILfloat g, ILfloat b, ILfloat Saturation);
    00176 ILAPI ILboolean      ILAPIENTRY iluScale(ILuint Width, ILuint Height, ILuint Depth);
    00177 ILAPI ILboolean      ILAPIENTRY iluScaleAlpha(ILfloat scale);
    00178 ILAPI ILboolean      ILAPIENTRY iluScaleColours(ILfloat r, ILfloat g, ILfloat b);
    00179 ILAPI ILboolean      ILAPIENTRY iluSetLanguage(ILenum Language);
    00180 ILAPI ILboolean      ILAPIENTRY iluSharpen(ILfloat Factor, ILuint Iter);
    00181 ILAPI ILboolean      ILAPIENTRY iluSwapColours(void);
    00182 ILAPI ILboolean      ILAPIENTRY iluWave(ILfloat Angle);
    00183
    00184 #define iluColorsUsed   iluColoursUsed
    00185 #define iluSwapColors   iluSwapColours
    00186 #define iluReplaceColor iluReplaceColour
    00187 #define iluScaleColor   iluScaleColour
    00188
    00189 #ifdef __cplusplus
    00190 }
    00191 #endif
    00192
    00193 #endif // __ILU_H__
    00194 #endif // __ilu_h_