X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fextension.h;h=cf824e24b0a189b65fc88de30adc6dc862fb5e09;hp=671e4af9aac989afff2a30c9d6cec2a474120c98;hb=HEAD;hpb=9dc2c20e8c7ac91d932b12492591b65786e24b0f diff --git a/source/extension.h b/source/extension.h deleted file mode 100644 index 671e4af9..00000000 --- a/source/extension.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef MSP_GL_EXTENSION_H_ -#define MSP_GL_EXTENSION_H_ - -#include - -namespace Msp { -namespace GL { - -enum GLApi -{ - OPENGL, - OPENGL_ES2 -}; - - -struct Version -{ - unsigned short major; - unsigned short minor; - - Version(); - Version(unsigned short, unsigned short); - Version(const std::string &); - - bool operator>=(const Version &) const; -}; - - -class Extension -{ -public: - enum SupportLevel - { - UNSUPPORTED, - EXTENSION, - CORE - }; - - typedef SupportLevel (*InitFunc)(); - -private: - const char *name; - InitFunc init_func; - mutable bool init_done; - mutable SupportLevel support; - -public: - Extension(const char *, InitFunc); - - const char *get_name() const { return name; } - operator bool() const; -}; - - -struct Require -{ - Require(const Extension &); -}; - - -typedef void ExtFunc(); - -/** Indicates whether an extension is supported. */ -bool is_supported(const std::string &); - -/** Returns the API for which the library was compiled. */ -GLApi get_gl_api(); - -/** Returns the OpenGL version number, as reported by the implementation. */ -const Version &get_gl_version(); - -/** Returns the GLSL version number, as reported by the implementation. */ -const Version &get_glsl_version(); - -/** Indicates whether the OpenGL version is at least a.b. */ -bool is_version_at_least(unsigned a, unsigned b); - -/** Returns the address of an extension function. Only indended for internal -use. */ -ExtFunc *get_proc_address(const std::string &); - -} // namespace GL -} // namespace Msp - -#endif