From 574a5ebb55ae760dff0a970d6944e249bfbd2164 Mon Sep 17 00:00:00 2001 From: Alexander Gauggel <agauggel@uni-koblenz.de> Date: Sat, 26 Jun 2021 17:12:54 +0200 Subject: [PATCH] [#82] Add fullscreen toggle --- projects/voxelization/src/main.cpp | 41 ++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/projects/voxelization/src/main.cpp b/projects/voxelization/src/main.cpp index 52bf0976..edc50c55 100644 --- a/projects/voxelization/src/main.cpp +++ b/projects/voxelization/src/main.cpp @@ -27,6 +27,47 @@ int main(int argc, const char** argv) { true ); + bool isFullscreen = false; + int windowedWidthBackup = windowWidth; + int windowedHeightBackup = windowHeight; + int windowedPosXBackup; + int windowedPosYBackup; + glfwGetWindowPos(window.getWindow(), &windowedPosXBackup, &windowedPosYBackup); + + window.e_key.add([&](int key, int scancode, int action, int mods) { + if (key == GLFW_KEY_F11 && action == GLFW_PRESS) { + if (isFullscreen) { + glfwSetWindowMonitor( + window.getWindow(), + nullptr, + windowedPosXBackup, + windowedPosYBackup, + windowedWidthBackup, + windowedHeightBackup, + GLFW_DONT_CARE); + } + else { + windowedWidthBackup = windowWidth; + windowedHeightBackup = windowHeight; + + glfwGetWindowPos(window.getWindow(), &windowedPosXBackup, &windowedPosYBackup); + + GLFWmonitor* monitor = glfwGetPrimaryMonitor(); + const GLFWvidmode* videoMode = glfwGetVideoMode(monitor); + + glfwSetWindowMonitor( + window.getWindow(), + glfwGetPrimaryMonitor(), + 0, + 0, + videoMode->width, + videoMode->height, + videoMode->refreshRate); + } + isFullscreen = !isFullscreen; + } + }); + vkcv::camera::CameraManager cameraManager(window); uint32_t camIndex = cameraManager.addCamera(vkcv::camera::ControllerType::PILOT); uint32_t camIndex2 = cameraManager.addCamera(vkcv::camera::ControllerType::TRACKBALL); -- GitLab