#include #include "Window.hpp" namespace MC { Window::Window(const char *title, uint32_t width, uint32_t height) { glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); glfwWindowHint(GLFW_DOUBLEBUFFER, GL_TRUE); m_window = glfwCreateWindow(width, height, title, nullptr, nullptr); if (m_window == nullptr) { throw std::runtime_error("Failed to create window."); } glfwMakeContextCurrent(m_window); } Window::~Window() { glfwDestroyWindow(m_window); } bool Window::should_close() { return glfwWindowShouldClose(m_window); } GLFWwindow* Window::get() { return m_window; } void Window::close() { glfwSetWindowShouldClose(m_window, true); } bool Window::key(int key, int type) { return (glfwGetKey(m_window, key) == type); } void Window::start_frame() { glfwSwapBuffers(m_window); glfwPollEvents(); } }