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