X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fextension.h;h=cf824e24b0a189b65fc88de30adc6dc862fb5e09;hb=HEAD;hp=b44d89007c12610344347632c441d175cc5ff89a;hpb=5b3aa68610238de4e6f13c4bf9ec1745751e820c;p=libs%2Fgl.git diff --git a/source/extension.h b/source/extension.h deleted file mode 100644 index b44d8900..00000000 --- a/source/extension.h +++ /dev/null @@ -1,95 +0,0 @@ -#ifndef MSP_GL_EXTENSION_H_ -#define MSP_GL_EXTENSION_H_ - -#include - -namespace Msp { -namespace GL { - -enum GLApi -{ - OPENGL, - OPENGL_ES2 -}; - -enum GLProfile -{ - CORE_PROFILE, - COMPATIBILITY_PROFILE -}; - - -struct Version -{ - unsigned short major; - unsigned short minor; - - Version(); - Version(unsigned short, unsigned short); - Version(const std::string &); - - bool operator>=(const Version &) const; - bool operator<(const Version &o) const { return !(*this>=o); } -}; - - -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 profile for the active context. */ -GLProfile get_gl_profile(); - -/** 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