#ifndef ASW_GRAPHICS_OGL_W32_H #define ASW_GRAPHICS_OGL_W32_H #include "ASW_Window_W32.h" #include "ASW_Graphics_OGL.h" class OpenGLW32 { private: WindowW32 * m_ptrWindow; protected: virtual void PrivateDestroy(); public: OpenGLW32(WindowW32 &, const ASW::GraphicsApi::Settings &); virtual void DrawEnd(); virtual bool Load(ASW::Font &); virtual ASW::Point2f Size(const ASW::Font &, const char *); virtual void Unload(ASW::Font &); }; class OpenGLSW32 : public OpenGLW32, public OpenGLS { public: OpenGLSW32(WindowW32 &, const ASW::GraphicsApi::Settings &); virtual bool Load(ASW::Font & Font) {return OpenGLW32::Load(Font);} virtual void DrawEnd() {OpenGLW32::DrawEnd();} virtual ASW::Point2f Size(const ASW::Font & Font, const char * String) {return OpenGLW32::Size(Font, String);} virtual void Unload(ASW::Font & Font) {OpenGLW32::Unload(Font);} }; class OpenGLXW32 : public OpenGLW32, public OpenGLX { public: OpenGLXW32(WindowW32 &, const ASW::GraphicsApi::Settings &); virtual bool Load(ASW::Font & Font) {return OpenGLW32::Load(Font);} virtual void DrawEnd() {OpenGLW32::DrawEnd();} virtual ASW::Point2f Size(const ASW::Font & Font, const char * String) {return OpenGLW32::Size(Font, String);} virtual void Unload(ASW::Font & Font) {OpenGLW32::Unload(Font);} }; class OpenGLSW32lite : public OpenGLW32, public OpenGLS { public: OpenGLSW32lite(WindowW32 &, const ASW::GraphicsApi::Settings &); virtual bool Load(ASW::Font & Font) {return OpenGLW32::Load(Font);} virtual void DrawEnd() {OpenGLW32::DrawEnd();} virtual ASW::Point2f Size(const ASW::Font & Font, const char * String) {return OpenGLW32::Size(Font, String);} virtual void Unload(ASW::Font & Font) {OpenGLW32::Unload(Font);} virtual void Bind(const ASW::Texture *, const unsigned int); virtual void Draw(const ASW::Type::Primitive, const ASW::BufferIndex::Index &); virtual void DrawIndices(const ASW::Type::Primitive, const ASW::CompositeIndex **, const unsigned int); virtual void DrawVertices(const ASW::Type::Primitive, const ASW::CompositeIndex **, const unsigned int); virtual void SetStencilTest(const ASW::GraphicsApi::Test, const int, const unsigned int, const bool); virtual void SetStencilWriteMask(const unsigned int, const bool); virtual void SetStencilOp(const ASW::GraphicsApi::StencilOp, const ASW::GraphicsApi::StencilOp, const ASW::GraphicsApi::StencilOp, const bool); virtual void SetStencilParams(const unsigned int, const ASW::GraphicsApi::Test, const ASW::GraphicsApi::StencilOp, const ASW::GraphicsApi::StencilOp, const ASW::GraphicsApi::StencilOp, const int, const unsigned int, const bool); }; #endif