From b0f24760f4755a400cb8c8b3e85d17a3f81e2df7 Mon Sep 17 00:00:00 2001
From: Evy Garden <evysgarden@protonmail.com>
Date: Sun, 7 Aug 2022 13:25:38 +0200
Subject: [PATCH] added getShouldClose in window

---
 src/pew/renderpass/renderpass.hpp | 4 ++--
 src/pew/scene/scene.cpp           | 1 +
 src/pew/window/window.hpp         | 5 +++++
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/pew/renderpass/renderpass.hpp b/src/pew/renderpass/renderpass.hpp
index d6d836e..43a5466 100644
--- a/src/pew/renderpass/renderpass.hpp
+++ b/src/pew/renderpass/renderpass.hpp
@@ -94,7 +94,7 @@ namespace pew {
         RenderPassBuffers       buffers;
 
 #if !defined(PEW_USE_THREADS)
-        std::function<void()> pixelUpdateFun;
+        std::function<bool()> pixelUpdateFun;
 #endif
 
         public:
@@ -133,7 +133,7 @@ namespace pew {
 
 #if !defined(PEW_USE_THREADS)
         RenderPass&
-        setPixelUpdateFunction(const std::function<void()>& fun) {
+        setPixelUpdateFunction(const std::function<bool()>& fun) {
             pixelUpdateFun = fun;
             return *this;
         }
diff --git a/src/pew/scene/scene.cpp b/src/pew/scene/scene.cpp
index 668511d..15df4f3 100644
--- a/src/pew/scene/scene.cpp
+++ b/src/pew/scene/scene.cpp
@@ -43,6 +43,7 @@ namespace pew {
         renderPass.setPixelUpdateFunction([&] {
             window.handleInput();
             window.drawFrame();
+            return window.getShouldClose();
         });
         
         #if defined(__EMSCRIPTEN__)
diff --git a/src/pew/window/window.hpp b/src/pew/window/window.hpp
index 50d95be..20b95ac 100644
--- a/src/pew/window/window.hpp
+++ b/src/pew/window/window.hpp
@@ -155,6 +155,11 @@ namespace pew {
             shouldClose = true;
         }
 
+        auto
+        getShouldClose() const noexcept {
+            return shouldClose;
+        }
+
         void
         handleInput() {
             SDL_Event event;
-- 
GitLab