DevIL: /home/dwoods/DevIL/include/IL/ilu.h Source File

- Main Page
- Data Structures
- Files

# /home/dwoods/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: 03/07/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_8 1
    00041 #define ILU_VERSION       178
    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 #define ILU_FRENCH             0x0806
    00086
    00087
    00088 // Filters
    00089 /*
    00090 #define ILU_FILTER_BLUR         0x0803
    00091 #define ILU_FILTER_GAUSSIAN_3x3 0x0804
    00092 #define ILU_FILTER_GAUSSIAN_5X5 0x0805
    00093 #define ILU_FILTER_EMBOSS1      0x0807
    00094 #define ILU_FILTER_EMBOSS2      0x0808
    00095 #define ILU_FILTER_LAPLACIAN1   0x080A
    00096 #define ILU_FILTER_LAPLACIAN2   0x080B
    00097 #define ILU_FILTER_LAPLACIAN3   0x080C
    00098 #define ILU_FILTER_LAPLACIAN4   0x080D
    00099 #define ILU_FILTER_SHARPEN1     0x080E
    00100 #define ILU_FILTER_SHARPEN2     0x080F
    00101 #define ILU_FILTER_SHARPEN3     0x0810
    00102 */
    00103
    00104
    00105 typedef struct ILinfo
    00106 {
    00107         ILuint  Id;         // the image's id
    00108         ILubyte *Data;      // the image's data
    00109         ILuint  Width;      // the image's width
    00110         ILuint  Height;     // the image's height
    00111         ILuint  Depth;      // the image's depth
    00112         ILubyte Bpp;        // bytes per pixel (not bits) of the image
    00113         ILuint  SizeOfData; // the total size of the data (in bytes)
    00114         ILenum  Format;     // image format (in IL enum style)
    00115         ILenum  Type;       // image type (in IL enum style)
    00116         ILenum  Origin;     // origin of the image
    00117         ILubyte *Palette;   // the image's palette
    00118         ILenum  PalType;    // palette type
    00119         ILuint  PalSize;    // palette size
    00120         ILenum  CubeFlags;  // flags for what cube map sides are present
    00121         ILuint  NumNext;    // number of images following
    00122         ILuint  NumMips;    // number of mipmaps
    00123         ILuint  NumLayers;  // number of layers
    00124 } ILinfo;
    00125
    00126
    00127 typedef struct ILpointf {
    00128         ILfloat x;
    00129         ILfloat y;
    00130 } ILpointf;
    00131
    00132 typedef struct ILpointi {
    00133         ILint x;
    00134         ILint y;
    00135 } ILpointi;
    00136
    00137 ILAPI ILboolean      ILAPIENTRY iluAlienify(void);
    00138 ILAPI ILboolean      ILAPIENTRY iluBlurAvg(ILuint Iter);
    00139 ILAPI ILboolean      ILAPIENTRY iluBlurGaussian(ILuint Iter);
    00140 ILAPI ILboolean      ILAPIENTRY iluBuildMipmaps(void);
    00141 ILAPI ILuint         ILAPIENTRY iluColoursUsed(void);
    00142 ILAPI ILboolean      ILAPIENTRY iluCompareImage(ILuint Comp);
    00143 ILAPI ILboolean      ILAPIENTRY iluContrast(ILfloat Contrast);
    00144 ILAPI ILboolean      ILAPIENTRY iluCrop(ILuint XOff, ILuint YOff, ILuint ZOff, ILuint Width, ILuint Height, ILuint Depth);
    00145 ILAPI void           ILAPIENTRY iluDeleteImage(ILuint Id); // Deprecated
    00146 ILAPI ILboolean      ILAPIENTRY iluEdgeDetectE(void);
    00147 ILAPI ILboolean      ILAPIENTRY iluEdgeDetectP(void);
    00148 ILAPI ILboolean      ILAPIENTRY iluEdgeDetectS(void);
    00149 ILAPI ILboolean      ILAPIENTRY iluEmboss(void);
    00150 ILAPI ILboolean      ILAPIENTRY iluEnlargeCanvas(ILuint Width, ILuint Height, ILuint Depth);
    00151 ILAPI ILboolean      ILAPIENTRY iluEnlargeImage(ILfloat XDim, ILfloat YDim, ILfloat ZDim);
    00152 ILAPI ILboolean      ILAPIENTRY iluEqualize(void);
    00153 ILAPI ILconst_string             ILAPIENTRY iluErrorString(ILenum Error);
    00154 ILAPI ILboolean      ILAPIENTRY iluConvolution(ILint *matrix, ILint scale, ILint bias);
    00155 ILAPI ILboolean      ILAPIENTRY iluFlipImage(void);
    00156 ILAPI ILboolean      ILAPIENTRY iluGammaCorrect(ILfloat Gamma);
    00157 ILAPI ILuint         ILAPIENTRY iluGenImage(void); // Deprecated
    00158 ILAPI void           ILAPIENTRY iluGetImageInfo(ILinfo *Info);
    00159 ILAPI ILint          ILAPIENTRY iluGetInteger(ILenum Mode);
    00160 ILAPI void           ILAPIENTRY iluGetIntegerv(ILenum Mode, ILint *Param);
    00161 ILAPI ILstring           ILAPIENTRY iluGetString(ILenum StringName);
    00162 ILAPI void           ILAPIENTRY iluImageParameter(ILenum PName, ILenum Param);
    00163 ILAPI void           ILAPIENTRY iluInit(void);
    00164 ILAPI ILboolean      ILAPIENTRY iluInvertAlpha(void);
    00165 ILAPI ILuint         ILAPIENTRY iluLoadImage(ILconst_string FileName);
    00166 ILAPI ILboolean      ILAPIENTRY iluMirror(void);
    00167 ILAPI ILboolean      ILAPIENTRY iluNegative(void);
    00168 ILAPI ILboolean      ILAPIENTRY iluNoisify(ILclampf Tolerance);
    00169 ILAPI ILboolean      ILAPIENTRY iluPixelize(ILuint PixSize);
    00170 ILAPI void           ILAPIENTRY iluRegionfv(ILpointf *Points, ILuint n);
    00171 ILAPI void           ILAPIENTRY iluRegioniv(ILpointi *Points, ILuint n);
    00172 ILAPI ILboolean      ILAPIENTRY iluReplaceColour(ILubyte Red, ILubyte Green, ILubyte Blue, ILfloat Tolerance);
    00173 ILAPI ILboolean      ILAPIENTRY iluRotate(ILfloat Angle);
    00174 ILAPI ILboolean      ILAPIENTRY iluRotate3D(ILfloat x, ILfloat y, ILfloat z, ILfloat Angle);
    00175 ILAPI ILboolean      ILAPIENTRY iluSaturate1f(ILfloat Saturation);
    00176 ILAPI ILboolean      ILAPIENTRY iluSaturate4f(ILfloat r, ILfloat g, ILfloat b, ILfloat Saturation);
    00177 ILAPI ILboolean      ILAPIENTRY iluScale(ILuint Width, ILuint Height, ILuint Depth);
    00178 ILAPI ILboolean      ILAPIENTRY iluScaleAlpha(ILfloat scale);
    00179 ILAPI ILboolean      ILAPIENTRY iluScaleColours(ILfloat r, ILfloat g, ILfloat b);
    00180 ILAPI ILboolean      ILAPIENTRY iluSetLanguage(ILenum Language);
    00181 ILAPI ILboolean      ILAPIENTRY iluSharpen(ILfloat Factor, ILuint Iter);
    00182 ILAPI ILboolean      ILAPIENTRY iluSwapColours(void);
    00183 ILAPI ILboolean      ILAPIENTRY iluWave(ILfloat Angle);
    00184
    00185 #define iluColorsUsed   iluColoursUsed
    00186 #define iluSwapColors   iluSwapColours
    00187 #define iluReplaceColor iluReplaceColour
    00188 #define iluScaleColor   iluScaleColour
    00189
    00190 #ifdef __cplusplus
    00191 }
    00192 #endif
    00193
    00194 #endif // __ILU_H__
    00195 #endif // __ilu_h_