aboutsummaryrefslogtreecommitdiff
path: root/include/cru/platform/gui/UiApplication.h
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-11-16 10:22:07 +0800
committerYuqian Yang <crupest@crupest.life>2025-11-16 10:22:07 +0800
commitd7fbe9332f01153efaea40e7a35f0025c75b9a04 (patch)
tree83cace7d4edba6453ed4749efa96921272085796 /include/cru/platform/gui/UiApplication.h
parent246eb9266b9349b44cbe96f3f839124ab30cbb89 (diff)
downloadcru-d7fbe9332f01153efaea40e7a35f0025c75b9a04.tar.gz
cru-d7fbe9332f01153efaea40e7a35f0025c75b9a04.tar.bz2
cru-d7fbe9332f01153efaea40e7a35f0025c75b9a04.zip
Abstract out AutoDestruct.
Diffstat (limited to 'include/cru/platform/gui/UiApplication.h')
-rw-r--r--include/cru/platform/gui/UiApplication.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/cru/platform/gui/UiApplication.h b/include/cru/platform/gui/UiApplication.h
index d15a3c72..84011275 100644
--- a/include/cru/platform/gui/UiApplication.h
+++ b/include/cru/platform/gui/UiApplication.h
@@ -3,6 +3,7 @@
#include "Menu.h"
#include "SaveOpenDialogOptions.h"
+#include <cru/base/Guard.h>
#include <cru/platform/graphics/Factory.h>
#include <chrono>
@@ -74,4 +75,12 @@ struct CRU_PLATFORM_GUI_API IUiApplication : public virtual IPlatformResource {
virtual std::optional<std::vector<std::string>> ShowOpenDialog(
OpenDialogOptions options);
};
+
+namespace details {
+inline void CancelTimer(long long id) noexcept {
+ IUiApplication::GetInstance()->CancelTimer(id);
+}
+} // namespace details
+
+using TimerAutoCanceler = AutoDestruct<long long, details::CancelTimer>;
} // namespace cru::platform::gui