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
 |