COpenGLDriver.h 1011 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #pragma once
  2. #include <GL/glew.h>
  3. #include <GLFW/glfw3.h>
  4. #include "WallpaperEngine/Render/Drivers/CVideoDriver.h"
  5. #include "WallpaperEngine/Application/CApplicationContext.h"
  6. namespace WallpaperEngine::Application
  7. {
  8. class CApplicationContext;
  9. }
  10. namespace WallpaperEngine::Render::Drivers
  11. {
  12. using namespace WallpaperEngine::Application;
  13. class COpenGLDriver : public CVideoDriver
  14. {
  15. public:
  16. explicit COpenGLDriver (const char* windowTitle);
  17. ~COpenGLDriver();
  18. float getRenderTime () override;
  19. bool closeRequested () override;
  20. void resizeWindow (glm::ivec2 size) override;
  21. void resizeWindow (glm::ivec4 sizeandpos) override;
  22. void showWindow () override;
  23. void hideWindow () override;
  24. glm::ivec2 getFramebufferSize () override;
  25. void swapBuffers () override;
  26. uint32_t getFrameCounter () override;
  27. GLFWwindow* getWindow ();
  28. private:
  29. GLFWwindow* m_window;
  30. uint32_t m_frameCounter;
  31. };
  32. }