#pragma once #include #include #include "WallpaperEngine/Render/Drivers/CVideoDriver.h" #include "WallpaperEngine/Application/CApplicationContext.h" namespace WallpaperEngine::Application { class CApplicationContext; } namespace WallpaperEngine::Render::Drivers { using namespace WallpaperEngine::Application; class COpenGLDriver : public CVideoDriver { public: explicit COpenGLDriver (const char* windowTitle); ~COpenGLDriver(); float getRenderTime () override; bool closeRequested () override; void resizeWindow (glm::ivec2 size) override; void resizeWindow (glm::ivec4 sizeandpos) override; void showWindow () override; void hideWindow () override; glm::ivec2 getFramebufferSize () override; void swapBuffers () override; uint32_t getFrameCounter () override; GLFWwindow* getWindow (); private: GLFWwindow* m_window; uint32_t m_frameCounter; }; }