From 77e7e18c26bf67461530c5fbb289898ee9f22440 Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 Date: Mon, 17 Jan 2022 13:03:13 +0100 Subject: [PATCH] Esc closes game --- src/engine/glgamewindow.cpp | 9 ++++++--- src/engine/vulkangamewindow.cpp | 19 +++++++++++++++++++ src/engine/vulkangamewindow.h | 4 ++++ 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/src/engine/glgamewindow.cpp b/src/engine/glgamewindow.cpp index c33b59a..7a845cc 100644 --- a/src/engine/glgamewindow.cpp +++ b/src/engine/glgamewindow.cpp @@ -138,14 +138,17 @@ void GlGameWindow::keyPressEvent(QKeyEvent *event) { QWindow::keyPressEvent(event); - qDebug() << (event->key() == Qt::Key_Escape); + switch (event->key()) + { + case Qt::Key_Escape: + close(); + break; + } } void GlGameWindow::keyReleaseEvent(QKeyEvent *event) { QWindow::keyReleaseEvent(event); - - qDebug() << (event->key() == Qt::Key_Escape); } void GlGameWindow::exposeEvent(QExposeEvent *event) diff --git a/src/engine/vulkangamewindow.cpp b/src/engine/vulkangamewindow.cpp index 7e8fbaa..32b8a1c 100644 --- a/src/engine/vulkangamewindow.cpp +++ b/src/engine/vulkangamewindow.cpp @@ -1,5 +1,7 @@ #include "vulkangamewindow.h" +#include + #include "vulkangamerenderer.h" VulkanGameWindow::VulkanGameWindow(const ProjectContainer &project, const float &rotation, QWindow *parent) : @@ -18,3 +20,20 @@ QVulkanWindowRenderer *VulkanGameWindow::createRenderer() { return new VulkanGameRenderer{m_project, m_rotation, this, true}; // try MSAA, when available } + +void VulkanGameWindow::keyPressEvent(QKeyEvent *event) +{ + QVulkanWindow::keyPressEvent(event); + + switch (event->key()) + { + case Qt::Key_Escape: + close(); + break; + } +} + +void VulkanGameWindow::keyReleaseEvent(QKeyEvent *event) +{ + QVulkanWindow::keyReleaseEvent(event); +} diff --git a/src/engine/vulkangamewindow.h b/src/engine/vulkangamewindow.h index 44ad09f..d71fa05 100644 --- a/src/engine/vulkangamewindow.h +++ b/src/engine/vulkangamewindow.h @@ -12,6 +12,10 @@ public: QVulkanWindowRenderer *createRenderer() override; +protected: + void keyPressEvent(QKeyEvent *event) override; + void keyReleaseEvent(QKeyEvent *event) override; + private: const ProjectContainer &m_project; const float &m_rotation;