diff options
author | crupest <crupest@outlook.com> | 2019-04-19 23:20:09 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2019-04-19 23:20:09 +0800 |
commit | ea87825d58ab5b58dd360c3f080518c07a865db0 (patch) | |
tree | 4b497ef3687d682368e0fde4b86293565583a63a /include/cru/win/native/win_application.hpp | |
parent | 7351020a582d70a1495249fba87d342c8a1fb634 (diff) | |
download | cru-ea87825d58ab5b58dd360c3f080518c07a865db0.tar.gz cru-ea87825d58ab5b58dd360c3f080518c07a865db0.tar.bz2 cru-ea87825d58ab5b58dd360c3f080518c07a865db0.zip |
...
Diffstat (limited to 'include/cru/win/native/win_application.hpp')
-rw-r--r-- | include/cru/win/native/win_application.hpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/cru/win/native/win_application.hpp b/include/cru/win/native/win_application.hpp index 458b10ae..5bdb753e 100644 --- a/include/cru/win/native/win_application.hpp +++ b/include/cru/win/native/win_application.hpp @@ -16,7 +16,7 @@ class WinApplication : public Object, static WinApplication* GetInstance(); private: - static WinApplication* instance_; + static WinApplication* instance; private: explicit WinApplication(HINSTANCE h_instance); @@ -32,6 +32,8 @@ class WinApplication : public Object, int Run() override; void Quit(int quit_code) override; + void AddOnQuitHandler(const std::function<void()>& handler) override; + void InvokeLater(const std::function<void()>& action) override; unsigned long SetTimeout(std::chrono::milliseconds milliseconds, const std::function<void()>& action) override; @@ -55,5 +57,7 @@ class WinApplication : public Object, std::shared_ptr<GodWindow> god_window_; std::shared_ptr<TimerManager> timer_manager_; std::shared_ptr<WindowManager> window_manager_; + + std::vector<std::function<void()>> quit_handlers_; }; } // namespace cru::win::native |