00001 /* 00002 $Id: texture_gl.h,v 1.4 2001/02/17 17:12:10 plasmoid Exp $ 00003 00004 ------------------------------------------------------------------------ 00005 ClanLib, the platform independent game SDK. 00006 00007 This library is distributed under the GNU LIBRARY GENERAL PUBLIC LICENSE 00008 version 2. See COPYING for details. 00009 00010 For a total list of contributers see CREDITS. 00011 00012 ------------------------------------------------------------------------ 00013 */ 00014 00015 #ifndef header_texture_opengl 00016 #define header_texture_opengl 00017 00018 #ifdef WIN32 00019 #include <windows.h> 00020 #endif 00021 #include "API/GL/texture.h" 00022 #include <GL/gl.h> 00023 #include <GL/glu.h> 00024 00025 class CL_Texture_OpenGL : public CL_Texture 00026 { 00027 public: 00028 CL_Texture_OpenGL(CL_SurfaceProvider *provider, bool delete_provider); 00029 virtual ~CL_Texture_OpenGL(); 00030 00031 // CL_Texture implementation 00032 virtual void bind(int texture_no=0); 00033 virtual CL_SurfaceProvider *get_provider() const; 00034 virtual void reload(); 00035 virtual int get_width() const; 00036 virtual int get_height() const; 00037 virtual int get_num_textures() const; 00038 virtual int get_num_frames() const; 00039 virtual void flush(CL_DisplayCard *card = NULL); 00040 00041 private: 00042 CL_SurfaceProvider *provider; 00043 bool delete_provider; 00044 00045 GLuint *handles; 00046 int num_textures; 00047 }; 00048 00049 #endif
1.2.6 written by Dimitri van Heesch,
© 1997-2001