#pragma once #include "../Common/Sizes.hpp" #include "../Math/Vector.hpp" #include #include "Mouse.hpp" namespace MC::GFX { class Window { public: Window(const Char* title, U32 width, U32 height); ~Window(); GLFWwindow* get() const; void on_size_change(void (* callback)(GLFWwindow*, I32, I32)); void close(); void start_frame(); Vector<2> mouse_delta(); Bool key(I32 key, I32 type) const; Bool mouse(I32 key, I32 type) const; Bool should_close() const; private: GLFWwindow* m_window; Mouse m_mouse; }; }