source: OGRE/trunk/ogre_dependencies/Dependencies/include/il/ilu.h @ 692

Revision 692, 6.4 KB checked in by mattausch, 19 years ago (diff)

adding ogre 1.2 and dependencies

Line 
1//-----------------------------------------------------------------------------
2//
3// ImageLib Utility Sources
4// Copyright (C) 2000-2002 by Denton Woods
5// Last modified: 06/23/2002 <--Y2K Compliant! =]
6//
7// Filename: IL/ilu.h
8//
9// Description: The main include file for ILU
10//
11//-----------------------------------------------------------------------------
12
13
14#ifndef __ilu_h_
15#ifndef __ILU_H__
16
17#define __ilu_h_
18#define __ILU_H__
19
20#include <IL/il.h>
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26
27#ifdef _WIN32
28        #if (defined(IL_USE_PRAGMA_LIBS)) && (!defined(_IL_BUILD_LIBRARY))
29                #if defined(_MSC_VER) || defined(__BORLANDC__)
30                        #pragma comment(lib, "DevILU.lib")
31                #endif
32        #endif
33#endif
34
35
36#define ILU_VERSION_1_6_7 1
37#define ILU_VERSION       167
38
39
40#define ILU_FILTER         0x2600
41#define ILU_NEAREST        0x2601
42#define ILU_LINEAR         0x2602
43#define ILU_BILINEAR       0x2603
44#define ILU_SCALE_BOX      0x2604
45#define ILU_SCALE_TRIANGLE 0x2605
46#define ILU_SCALE_BELL     0x2606
47#define ILU_SCALE_BSPLINE  0x2607
48#define ILU_SCALE_LANCZOS3 0x2608
49#define ILU_SCALE_MITCHELL 0x2609
50
51
52// Error types
53#define ILU_INVALID_ENUM      0x0501
54#define ILU_OUT_OF_MEMORY     0x0502
55#define ILU_INTERNAL_ERROR    0x0504
56#define ILU_INVALID_VALUE     0x0505
57#define ILU_ILLEGAL_OPERATION 0x0506
58#define ILU_INVALID_PARAM     0x0509
59
60
61// Values
62#define ILU_PLACEMENT          0x0700
63#define ILU_LOWER_LEFT         0x0701
64#define ILU_LOWER_RIGHT        0x0702
65#define ILU_UPPER_LEFT         0x0703
66#define ILU_UPPER_RIGHT        0x0704
67#define ILU_CENTER             0x0705
68#define ILU_CONVOLUTION_MATRIX 0x0710
69 
70#define ILU_VERSION_NUM IL_VERSION_NUM
71#define ILU_VENDOR      IL_VENDOR
72
73
74// Filters
75/*
76#define ILU_FILTER_BLUR         0x0803
77#define ILU_FILTER_GAUSSIAN_3x3 0x0804
78#define ILU_FILTER_GAUSSIAN_5X5 0x0805
79#define ILU_FILTER_EMBOSS1      0x0807
80#define ILU_FILTER_EMBOSS2      0x0808
81#define ILU_FILTER_LAPLACIAN1   0x080A
82#define ILU_FILTER_LAPLACIAN2   0x080B
83#define ILU_FILTER_LAPLACIAN3   0x080C
84#define ILU_FILTER_LAPLACIAN4   0x080D
85#define ILU_FILTER_SHARPEN1     0x080E
86#define ILU_FILTER_SHARPEN2     0x080F
87#define ILU_FILTER_SHARPEN3     0x0810
88*/
89
90
91typedef struct ILinfo
92{
93        ILuint  Id;         // the image's id
94        ILubyte *Data;      // the image's data
95        ILuint  Width;      // the image's width
96        ILuint  Height;     // the image's height
97        ILuint  Depth;      // the image's depth
98        ILubyte Bpp;        // bytes per pixel (not bits) of the image
99        ILuint  SizeOfData; // the total size of the data (in bytes)
100        ILenum  Format;     // image format (in IL enum style)
101        ILenum  Type;       // image type (in IL enum style)
102        ILenum  Origin;     // origin of the image
103        ILubyte *Palette;   // the image's palette
104        ILenum  PalType;    // palette type
105        ILuint  PalSize;    // palette size
106        ILenum  CubeFlags;  // flags for what cube map sides are present
107        ILuint  NumNext;    // number of images following
108        ILuint  NumMips;    // number of mipmaps
109        ILuint  NumLayers;  // number of layers
110} ILinfo;
111
112
113typedef struct ILpointf
114{
115        ILfloat x, y;
116} ILpointf;
117
118typedef struct ILpointi
119{
120        ILint x, y;
121} ILpointi;
122
123
124// ImageLib Utility Functions
125ILAPI ILboolean      ILAPIENTRY iluAlienify(ILvoid);
126ILAPI ILboolean      ILAPIENTRY iluBlurAvg(ILuint Iter);
127ILAPI ILboolean      ILAPIENTRY iluBlurGaussian(ILuint Iter);
128ILAPI ILboolean      ILAPIENTRY iluBuildMipmaps(ILvoid);
129ILAPI ILuint         ILAPIENTRY iluColoursUsed(ILvoid);
130ILAPI ILboolean      ILAPIENTRY iluCompareImage(ILuint Comp);
131ILAPI ILboolean      ILAPIENTRY iluContrast(ILfloat Contrast);
132ILAPI ILboolean      ILAPIENTRY iluCrop(ILuint XOff, ILuint YOff, ILuint ZOff, ILuint Width, ILuint Height, ILuint Depth);
133ILAPI ILvoid         ILAPIENTRY iluDeleteImage(ILuint Id);
134ILAPI ILboolean      ILAPIENTRY iluEdgeDetectE(ILvoid);
135ILAPI ILboolean      ILAPIENTRY iluEdgeDetectP(ILvoid);
136ILAPI ILboolean      ILAPIENTRY iluEdgeDetectS(ILvoid);
137ILAPI ILboolean      ILAPIENTRY iluEmboss(ILvoid);
138ILAPI ILboolean      ILAPIENTRY iluEnlargeCanvas(ILuint Width, ILuint Height, ILuint Depth);
139ILAPI ILboolean      ILAPIENTRY iluEnlargeImage(ILfloat XDim, ILfloat YDim, ILfloat ZDim);
140ILAPI ILboolean      ILAPIENTRY iluEqualize(ILvoid);
141ILAPI ILstring ILAPIENTRY iluErrorString(ILenum Error);
142ILAPI ILboolean      ILAPIENTRY iluConvolution(ILint *matrix, ILint scale, ILint bias);
143ILAPI ILboolean      ILAPIENTRY iluFlipImage(ILvoid);
144ILAPI ILboolean      ILAPIENTRY iluGammaCorrect(ILfloat Gamma);
145ILAPI ILuint         ILAPIENTRY iluGenImage(ILvoid);
146ILAPI ILvoid         ILAPIENTRY iluGetImageInfo(ILinfo *Info);
147ILAPI ILint          ILAPIENTRY iluGetInteger(ILenum Mode);
148ILAPI ILvoid         ILAPIENTRY iluGetIntegerv(ILenum Mode, ILint *Param);
149ILAPI ILstring ILAPIENTRY iluGetString(ILenum StringName);
150ILAPI ILvoid         ILAPIENTRY iluImageParameter(ILenum PName, ILenum Param);
151ILAPI ILvoid         ILAPIENTRY iluInit(ILvoid);
152ILAPI ILboolean      ILAPIENTRY iluInvertAlpha(ILvoid);
153ILAPI ILuint         ILAPIENTRY iluLoadImage(const ILstring FileName);
154ILAPI ILboolean      ILAPIENTRY iluMirror(ILvoid);
155ILAPI ILboolean      ILAPIENTRY iluNegative(ILvoid);
156ILAPI ILboolean      ILAPIENTRY iluNoisify(ILclampf Tolerance);
157ILAPI ILboolean      ILAPIENTRY iluPixelize(ILuint PixSize);
158ILAPI ILvoid         ILAPIENTRY iluRegionfv(ILpointf *Points, ILuint n);
159ILAPI ILvoid         ILAPIENTRY iluRegioniv(ILpointi *Points, ILuint n);
160ILAPI ILboolean      ILAPIENTRY iluReplaceColour(ILubyte Red, ILubyte Green, ILubyte Blue, ILfloat Tolerance);
161ILAPI ILboolean      ILAPIENTRY iluRotate(ILfloat Angle);
162ILAPI ILboolean      ILAPIENTRY iluRotate3D(ILfloat x, ILfloat y, ILfloat z, ILfloat Angle);
163ILAPI ILboolean      ILAPIENTRY iluSaturate1f(ILfloat Saturation);
164ILAPI ILboolean      ILAPIENTRY iluSaturate4f(ILfloat r, ILfloat g, ILfloat b, ILfloat Saturation);
165ILAPI ILboolean      ILAPIENTRY iluScale(ILuint Width, ILuint Height, ILuint Depth);
166ILAPI ILboolean      ILAPIENTRY iluScaleColours(ILfloat r, ILfloat g, ILfloat b);
167ILAPI ILboolean      ILAPIENTRY iluSharpen(ILfloat Factor, ILuint Iter);
168ILAPI ILboolean      ILAPIENTRY iluSwapColours(ILvoid);
169ILAPI ILboolean      ILAPIENTRY iluWave(ILfloat Angle);
170
171#define iluColorsUsed   iluColoursUsed
172#define iluSwapColors   iluSwapColours
173#define iluReplaceColor iluReplaceColour
174#define iluScaleColor   iluScaleColour
175
176#ifdef __cplusplus
177}
178#endif
179
180#endif // __ILU_H__
181#endif // __ilu_h_
Note: See TracBrowser for help on using the repository browser.