X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fextension.h;h=cf824e24b0a189b65fc88de30adc6dc862fb5e09;hp=e0fe3eff4bdcf4aa4c54428a0c18a356c09d2b73;hb=HEAD;hpb=f92c10f969a02e707a236cb364332bf079cdf4fc diff --git a/source/extension.h b/source/extension.h deleted file mode 100644 index e0fe3eff..00000000 --- a/source/extension.h +++ /dev/null @@ -1,75 +0,0 @@ -#ifndef MSP_GL_EXTENSION_H_ -#define MSP_GL_EXTENSION_H_ - -#include - -namespace Msp { -namespace GL { - -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 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