#ifndef WINDOWMANAGER_H #define WINDOWMANAGER_H #include #include namespace OX { class WindowManager { public: WindowManager() = default; ~WindowManager(); bool Init(const std::string& title, int width, int height); void Shutdown(); void PollEvents() const; [[nodiscard]] bool ShouldClose() const; void BeginFrame() const; void EndFrame() const; [[nodiscard]] GLFWwindow* GetHandle() const { return m_window; } [[nodiscard]] int GetWidth() const { return m_width; } [[nodiscard]] int GetHeight() const { return m_height; } static void FramebufferSizeCallback(GLFWwindow* window, int width, int height); private: void SetSize(int width, int height); GLFWwindow* m_window = nullptr; int m_width = 1280; int m_height = 720; }; } #endif // WINDOWMANAGER_H