206 lines
4.4 KiB
C++
206 lines
4.4 KiB
C++
#ifndef WRAPPER_H
|
|
#define WRAPPER_H
|
|
|
|
/*#include <il/il.h>
|
|
#include <il/ilu.h>*/
|
|
#include <IL/ilut.h> // Probably only have to #include this one
|
|
|
|
#ifdef _MSC_VER
|
|
#ifndef _IL_WRAP_BUILD_LIB
|
|
#pragma comment(lib, "il_wrap.lib")
|
|
#endif
|
|
#endif
|
|
|
|
class ilImage
|
|
{
|
|
public:
|
|
ilImage();
|
|
ilImage(char *);
|
|
ilImage(const ilImage &);
|
|
virtual ~ilImage();
|
|
|
|
ILboolean Load(char *);
|
|
ILboolean Load(char *, ILenum);
|
|
ILboolean Save(char *);
|
|
ILboolean Save(char *, ILenum);
|
|
|
|
|
|
// ImageLib functions
|
|
ILboolean ActiveImage(ILuint);
|
|
ILboolean ActiveLayer(ILuint);
|
|
ILboolean ActiveMipmap(ILuint);
|
|
ILboolean Clear(void);
|
|
ILvoid ClearColour(ILclampf, ILclampf, ILclampf, ILclampf);
|
|
ILboolean Convert(ILenum);
|
|
ILboolean Copy(ILuint);
|
|
ILboolean Default(void);
|
|
ILboolean Flip(void);
|
|
ILboolean SwapColours(void);
|
|
ILboolean Resize(ILuint, ILuint, ILuint);
|
|
ILboolean TexImage(ILuint, ILuint, ILuint, ILubyte, ILenum, ILenum, ILvoid*);
|
|
|
|
|
|
// Image handling
|
|
ILvoid Bind(void) const;
|
|
ILvoid Bind(ILuint);
|
|
ILvoid Close(void) { this->Delete(); }
|
|
ILvoid Delete(void);
|
|
ILvoid iGenBind();
|
|
ILenum PaletteAlphaIndex();
|
|
|
|
// Image characteristics
|
|
ILuint Width(void);
|
|
ILuint Height(void);
|
|
ILuint Depth(void);
|
|
ILubyte Bpp(void);
|
|
ILubyte Bitpp(void);
|
|
ILenum PaletteType(void);
|
|
ILenum Format(void);
|
|
ILenum Type(void);
|
|
ILuint NumImages(void);
|
|
ILuint NumMipmaps(void);
|
|
ILuint GetId(void) const;
|
|
ILenum GetOrigin(void);
|
|
ILubyte *GetData(void);
|
|
ILubyte *GetPalette(void);
|
|
|
|
|
|
// Rendering
|
|
ILuint BindImage(void);
|
|
ILuint BindImage(ILenum);
|
|
|
|
|
|
// Operators
|
|
ilImage& operator = (ILuint);
|
|
ilImage& operator = (const ilImage &);
|
|
|
|
|
|
protected:
|
|
ILuint Id;
|
|
|
|
private:
|
|
ILvoid iStartUp();
|
|
|
|
|
|
};
|
|
|
|
|
|
class ilFilters
|
|
{
|
|
public:
|
|
static ILboolean Alienify(ilImage &);
|
|
static ILboolean BlurAvg(ilImage &, ILuint Iter);
|
|
static ILboolean BlurGaussian(ilImage &, ILuint Iter);
|
|
static ILboolean Contrast(ilImage &, ILfloat Contrast);
|
|
static ILboolean EdgeDetectE(ilImage &);
|
|
static ILboolean EdgeDetectP(ilImage &);
|
|
static ILboolean EdgeDetectS(ilImage &);
|
|
static ILboolean Emboss(ilImage &);
|
|
static ILboolean Gamma(ilImage &, ILfloat Gamma);
|
|
static ILboolean Negative(ilImage &);
|
|
static ILboolean Noisify(ilImage &, ILubyte Factor);
|
|
static ILboolean Pixelize(ilImage &, ILuint PixSize);
|
|
static ILboolean Saturate(ilImage &, ILfloat Saturation);
|
|
static ILboolean Saturate(ilImage &, ILfloat r, ILfloat g, ILfloat b, ILfloat Saturation);
|
|
static ILboolean ScaleColours(ilImage &, ILfloat r, ILfloat g, ILfloat b);
|
|
static ILboolean Sharpen(ilImage &, ILfloat Factor, ILuint Iter);
|
|
};
|
|
|
|
|
|
#ifdef ILUT_USE_OPENGL
|
|
class ilOgl
|
|
{
|
|
public:
|
|
static ILvoid Init(void);
|
|
static GLuint BindTex(ilImage &);
|
|
static ILboolean Upload(ilImage &, ILuint);
|
|
static GLuint Mipmap(ilImage &);
|
|
static ILboolean Screen(void);
|
|
static ILboolean Screenie(void);
|
|
};
|
|
#endif//ILUT_USE_OPENGL
|
|
|
|
|
|
#ifdef ILUT_USE_ALLEGRO
|
|
class ilAlleg
|
|
{
|
|
public:
|
|
static ILvoid Init(void);
|
|
static BITMAP *Convert(ilImage &);
|
|
};
|
|
#endif//ILUT_USE_ALLEGRO
|
|
|
|
|
|
#ifdef ILUT_USE_WIN32
|
|
class ilWin32
|
|
{
|
|
public:
|
|
static ILvoid Init(void);
|
|
static HBITMAP Convert(ilImage &);
|
|
static ILboolean GetClipboard(ilImage &);
|
|
static ILvoid GetInfo(ilImage &, BITMAPINFO *Info);
|
|
static ILubyte *GetPadData(ilImage &);
|
|
static HPALETTE GetPal(ilImage &);
|
|
static ILboolean GetResource(ilImage &, HINSTANCE hInst, ILint ID, char *ResourceType);
|
|
static ILboolean GetResource(ilImage &, HINSTANCE hInst, ILint ID, char *ResourceType, ILenum Type);
|
|
static ILboolean SetClipboard(ilImage &);
|
|
};
|
|
#endif//ILUT_USE_WIN32
|
|
|
|
|
|
class ilValidate
|
|
{
|
|
public:
|
|
static ILboolean Valid(ILenum, char *);
|
|
static ILboolean Valid(ILenum, FILE *);
|
|
static ILboolean Valid(ILenum, ILvoid *, ILuint);
|
|
|
|
protected:
|
|
|
|
private:
|
|
|
|
};
|
|
|
|
|
|
class ilState
|
|
{
|
|
public:
|
|
static ILboolean Disable(ILenum);
|
|
static ILboolean Enable(ILenum);
|
|
static ILvoid Get(ILenum, ILboolean &);
|
|
static ILvoid Get(ILenum, ILint &);
|
|
static ILboolean GetBool(ILenum);
|
|
static ILint GetInt(ILenum);
|
|
static const char *GetString(ILenum);
|
|
static ILboolean IsDisabled(ILenum);
|
|
static ILboolean IsEnabled(ILenum);
|
|
static ILboolean Origin(ILenum);
|
|
static ILvoid Pop(void);
|
|
static ILvoid Push(ILuint);
|
|
|
|
|
|
protected:
|
|
|
|
private:
|
|
|
|
};
|
|
|
|
|
|
class ilError
|
|
{
|
|
public:
|
|
static ILvoid Check(ILvoid (*Callback)(const char*));
|
|
static ILvoid Check(ILvoid (*Callback)(ILenum));
|
|
static ILenum Get(void);
|
|
static const char *String(void);
|
|
static const char *String(ILenum);
|
|
|
|
protected:
|
|
|
|
private:
|
|
|
|
};
|
|
|
|
|
|
#endif//WRAPPER_H
|