aboutsummaryrefslogtreecommitdiff
path: root/include/cru/win
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-10-17 15:57:53 +0800
committercrupest <crupest@outlook.com>2020-10-17 15:57:53 +0800
commit46ff47d2f47a66372ca0a8a09dd08c4fb04004f3 (patch)
tree0a1168ea234cb545f76b6d9a8031c36c0f224f5c /include/cru/win
parent937b16dff40b6eba68d6bc13162f838c8432f43b (diff)
downloadcru-46ff47d2f47a66372ca0a8a09dd08c4fb04004f3.tar.gz
cru-46ff47d2f47a66372ca0a8a09dd08c4fb04004f3.tar.bz2
cru-46ff47d2f47a66372ca0a8a09dd08c4fb04004f3.zip
Refactor timer.
Diffstat (limited to 'include/cru/win')
-rw-r--r--include/cru/win/native/GodWindow.hpp9
-rw-r--r--include/cru/win/native/UiApplication.hpp2
2 files changed, 10 insertions, 1 deletions
diff --git a/include/cru/win/native/GodWindow.hpp b/include/cru/win/native/GodWindow.hpp
index 8b20e01f..93d1acad 100644
--- a/include/cru/win/native/GodWindow.hpp
+++ b/include/cru/win/native/GodWindow.hpp
@@ -1,6 +1,9 @@
#pragma once
#include "Base.hpp"
+#include "WindowNativeMessageEventArgs.hpp"
+#include "cru/common/Event.hpp"
+
#include <memory>
namespace cru::platform::native::win {
@@ -20,10 +23,16 @@ class GodWindow : public Object {
bool HandleGodWindowMessage(HWND hwnd, UINT msg, WPARAM w_param,
LPARAM l_param, LRESULT* result);
+ IEvent<WindowNativeMessageEventArgs&>* MessageEvent() {
+ return &message_event_;
+ }
+
private:
WinUiApplication* application_;
std::unique_ptr<WindowClass> god_window_class_;
HWND hwnd_;
+
+ Event<WindowNativeMessageEventArgs&> message_event_;
};
} // namespace cru::platform::native::win
diff --git a/include/cru/win/native/UiApplication.hpp b/include/cru/win/native/UiApplication.hpp
index cbc08af7..328a6b84 100644
--- a/include/cru/win/native/UiApplication.hpp
+++ b/include/cru/win/native/UiApplication.hpp
@@ -32,7 +32,7 @@ class WinUiApplication : public WinNativeResource,
void AddOnQuitHandler(std::function<void()> handler) override;
- void InvokeLater(std::function<void()> action) override;
+ long long SetImmediate(std::function<void()> action) override;
long long SetTimeout(std::chrono::milliseconds milliseconds,
std::function<void()> action) override;
long long SetInterval(std::chrono::milliseconds milliseconds,