From 9308f9d7dac8617b4e44238f2f8147e877ebb31e Mon Sep 17 00:00:00 2001 From: chris bell Date: Sun, 23 Aug 2026 21:07:15 -0500 Subject: [PATCH] Added a handy callback listener for UI --- src/UiCallbackListener.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/UiCallbackListener.h diff --git a/src/UiCallbackListener.h b/src/UiCallbackListener.h new file mode 100644 index 0000000..2832f35 --- /dev/null +++ b/src/UiCallbackListener.h @@ -0,0 +1,22 @@ +#pragma once +#include +#include +#include +#include + +class UiCallbackListener : public Rml::EventListener { +public: + using Callback = std::function; + explicit UiCallbackListener(Callback callback) : callback(std::move(callback)) {} + + void ProcessEvent(Rml::Event& event) override { + if (callback) callback(event); + } + + void OnDetach(Rml::Element* /*element*/) override { + delete this; + } + +private: + Callback callback; +}; \ No newline at end of file