00001 #ifndef WRAPPER_H
00002 #define WRAPPER_H
00003
00004
00005
00006 #include <IL/ilut.h>
00007
00008 #ifdef _MSC_VER
00009 #ifndef _IL_WRAP_BUILD_LIB
00010 #pragma comment(lib, "il_wrap.lib")
00011 #endif
00012 #endif
00013
00014 class ilImage
00015 {
00016 public:
00017 ilImage();
00018 ilImage(char *);
00019 ilImage(const ilImage &);
00020 virtual ~ilImage();
00021
00022 ILboolean Load(char *);
00023 ILboolean Load(char *, ILenum);
00024 ILboolean Save(char *);
00025 ILboolean Save(char *, ILenum);
00026
00027
00028
00029 ILboolean ActiveImage(ILuint);
00030 ILboolean ActiveLayer(ILuint);
00031 ILboolean ActiveMipmap(ILuint);
00032 ILboolean Clear(void);
00033 ILvoid ClearColour(ILclampf, ILclampf, ILclampf, ILclampf);
00034 ILboolean Convert(ILenum);
00035 ILboolean Copy(ILuint);
00036 ILboolean Default(void);
00037 ILboolean Flip(void);
00038 ILboolean SwapColours(void);
00039 ILboolean Resize(ILuint, ILuint, ILuint);
00040 ILboolean TexImage(ILuint, ILuint, ILuint, ILubyte, ILenum, ILenum, ILvoid*);
00041
00042
00043
00044 ILvoid Bind(void) const;
00045 ILvoid Bind(ILuint);
00046 ILvoid Close(void) { this->Delete(); }
00047 ILvoid Delete(void);
00048 ILvoid iGenBind();
00049 ILenum PaletteAlphaIndex();
00050
00051
00052 ILuint Width(void);
00053 ILuint Height(void);
00054 ILuint Depth(void);
00055 ILubyte Bpp(void);
00056 ILubyte Bitpp(void);
00057 ILenum PaletteType(void);
00058 ILenum Format(void);
00059 ILenum Type(void);
00060 ILuint NumImages(void);
00061 ILuint NumMipmaps(void);
00062 ILuint GetId(void) const;
00063 ILenum GetOrigin(void);
00064 ILubyte *GetData(void);
00065 ILubyte *GetPalette(void);
00066
00067
00068
00069 ILuint BindImage(void);
00070 ILuint BindImage(ILenum);
00071
00072
00073
00074 ilImage& operator = (ILuint);
00075 ilImage& operator = (const ilImage &);
00076
00077
00078 protected:
00079 ILuint Id;
00080
00081 private:
00082 ILvoid iStartUp();
00083
00084
00085 };
00086
00087
00088 class ilFilters
00089 {
00090 public:
00091 static ILboolean Alienify(ilImage &);
00092 static ILboolean BlurAvg(ilImage &, ILuint Iter);
00093 static ILboolean BlurGaussian(ilImage &, ILuint Iter);
00094 static ILboolean Contrast(ilImage &, ILfloat Contrast);
00095 static ILboolean EdgeDetectE(ilImage &);
00096 static ILboolean EdgeDetectP(ilImage &);
00097 static ILboolean EdgeDetectS(ilImage &);
00098 static ILboolean Emboss(ilImage &);
00099 static ILboolean Gamma(ilImage &, ILfloat Gamma);
00100 static ILboolean Negative(ilImage &);
00101 static ILboolean Noisify(ilImage &, ILubyte Factor);
00102 static ILboolean Pixelize(ilImage &, ILuint PixSize);
00103 static ILboolean Saturate(ilImage &, ILfloat Saturation);
00104 static ILboolean Saturate(ilImage &, ILfloat r, ILfloat g, ILfloat b, ILfloat Saturation);
00105 static ILboolean ScaleColours(ilImage &, ILfloat r, ILfloat g, ILfloat b);
00106 static ILboolean Sharpen(ilImage &, ILfloat Factor, ILuint Iter);
00107 };
00108
00109
00110 #ifdef ILUT_USE_OPENGL
00111 class ilOgl
00112 {
00113 public:
00114 static ILvoid Init(void);
00115 static GLuint BindTex(ilImage &);
00116 static ILboolean Upload(ilImage &, ILuint);
00117 static GLuint Mipmap(ilImage &);
00118 static ILboolean Screen(void);
00119 static ILboolean Screenie(void);
00120 };
00121 #endif//ILUT_USE_OPENGL
00122
00123
00124 #ifdef ILUT_USE_ALLEGRO
00125 class ilAlleg
00126 {
00127 public:
00128 static ILvoid Init(void);
00129 static BITMAP *Convert(ilImage &);
00130 };
00131 #endif//ILUT_USE_ALLEGRO
00132
00133
00134 #ifdef ILUT_USE_WIN32
00135 class ilWin32
00136 {
00137 public:
00138 static ILvoid Init(void);
00139 static HBITMAP Convert(ilImage &);
00140 static ILboolean GetClipboard(ilImage &);
00141 static ILvoid GetInfo(ilImage &, BITMAPINFO *Info);
00142 static ILubyte *GetPadData(ilImage &);
00143 static HPALETTE GetPal(ilImage &);
00144 static ILboolean GetResource(ilImage &, HINSTANCE hInst, ILint ID, char *ResourceType);
00145 static ILboolean GetResource(ilImage &, HINSTANCE hInst, ILint ID, char *ResourceType, ILenum Type);
00146 static ILboolean SetClipboard(ilImage &);
00147 };
00148 #endif//ILUT_USE_WIN32
00149
00150
00151 class ilValidate
00152 {
00153 public:
00154 static ILboolean Valid(ILenum, char *);
00155 static ILboolean Valid(ILenum, FILE *);
00156 static ILboolean Valid(ILenum, ILvoid *, ILuint);
00157
00158 protected:
00159
00160 private:
00161
00162 };
00163
00164
00165 class ilState
00166 {
00167 public:
00168 static ILboolean Disable(ILenum);
00169 static ILboolean Enable(ILenum);
00170 static ILvoid Get(ILenum, ILboolean &);
00171 static ILvoid Get(ILenum, ILint &);
00172 static ILboolean GetBool(ILenum);
00173 static ILint GetInt(ILenum);
00174 static const char *GetString(ILenum);
00175 static ILboolean IsDisabled(ILenum);
00176 static ILboolean IsEnabled(ILenum);
00177 static ILboolean Origin(ILenum);
00178 static ILvoid Pop(void);
00179 static ILvoid Push(ILuint);
00180
00181
00182 protected:
00183
00184 private:
00185
00186 };
00187
00188
00189 class ilError
00190 {
00191 public:
00192 static ILvoid Check(ILvoid (*Callback)(const char*));
00193 static ILvoid Check(ILvoid (*Callback)(ILenum));
00194 static ILenum Get(void);
00195 static const char *String(void);
00196 static const char *String(ILenum);
00197
00198 protected:
00199
00200 private:
00201
00202 };
00203
00204
00205 #endif//WRAPPER_H