X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Ftexture.h;h=6dd729b4d23a546f0c50bc92a4aa2cb73291652d;hp=28f9cb328979efdcefc0c6934e250da56748cdb7;hb=a80b074c70ec991f27114efd13686038cf42c493;hpb=530ace590ddb8024fbffc944d006aae7876a25f9 diff --git a/source/texture.h b/source/texture.h index 28f9cb32..6dd729b4 100644 --- a/source/texture.h +++ b/source/texture.h @@ -8,6 +8,8 @@ Distributed under the LGPL #ifndef MSP_GL_TEXTURE_H_ #define MSP_GL_TEXTURE_H_ +#include +#include #include "gl.h" #include "types.h" @@ -24,6 +26,9 @@ enum TextureFilter LINEAR_MIPMAP_LINEAR = GL_LINEAR_MIPMAP_LINEAR }; +std::istream &operator>>(std::istream &, TextureFilter &); + + /** Base class for textures. This class only defines operations common for all texture types and is not instantiable. For specifying images for textures, see @@ -31,6 +36,19 @@ one of the dimensioned texture classes. */ class Texture { +protected: + class Loader: public DataFile::Loader + { + protected: + Texture &tex; + + public: + Loader(Texture &); + void min_filter(TextureFilter); + void mag_filter(TextureFilter); + void generate_mipmap(bool); + }; + public: ~Texture();