From f465b26a8aeac95cf7e0186a86ab1262dc771fb4 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Mon, 17 Dec 2018 19:31:38 +0100 Subject: Keep track of window size in its wrapper class --- src/glfw/window.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/glfw/window.h') diff --git a/src/glfw/window.h b/src/glfw/window.h index 92a1b56..ea6075b 100644 --- a/src/glfw/window.h +++ b/src/glfw/window.h @@ -15,6 +15,8 @@ private: GLFWwindow* const _handle; + bool updateSize(); + public: Window(const std::string& title); ~Window(); @@ -46,9 +48,13 @@ void Window::render(F loop) { while ( glfwGetKey(_handle, GLFW_KEY_ESCAPE) != GLFW_PRESS && glfwWindowShouldClose(_handle) == 0 ) { - glfwGetWindowSize(_handle, &_width, &_height); + const bool window_size_changed = updateSize(); + + if ( window_size_changed ) { + glViewport(0, 0, getWidth(), getHeight()); + } - loop(); + loop(window_size_changed); glfwSwapBuffers(_handle); glfwPollEvents(); -- cgit v1.2.3