diff options
author | crupest <crupest@outlook.com> | 2022-01-12 23:13:10 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-12 23:13:10 +0800 |
commit | 276ae73fa444c16f34a379ae9d8f58c883056b4a (patch) | |
tree | 96f4d7103976836e918b4fa1db0fdbb80777986e /include/cru/win/gui/UiApplication.hpp | |
parent | 01f98ce88950cdb729f5db58bf26f2fffa1c326c (diff) | |
parent | 65c799c5339ba37bea2217b168e96b15aceaef85 (diff) | |
download | cru-276ae73fa444c16f34a379ae9d8f58c883056b4a.tar.gz cru-276ae73fa444c16f34a379ae9d8f58c883056b4a.tar.bz2 cru-276ae73fa444c16f34a379ae9d8f58c883056b4a.zip |
Merge pull request #44 from crupest/dev
Windows development.
Diffstat (limited to 'include/cru/win/gui/UiApplication.hpp')
-rw-r--r-- | include/cru/win/gui/UiApplication.hpp | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/include/cru/win/gui/UiApplication.hpp b/include/cru/win/gui/UiApplication.hpp index 4cf46858..4b972fee 100644 --- a/include/cru/win/gui/UiApplication.hpp +++ b/include/cru/win/gui/UiApplication.hpp @@ -7,7 +7,7 @@ #include <memory> namespace cru::platform::graphics::win::direct { -class DirectGraphFactory; +class DirectGraphicsFactory; } namespace cru::platform::gui::win { @@ -33,6 +33,13 @@ class WinUiApplication : public WinNativeResource, void AddOnQuitHandler(std::function<void()> handler) override; + bool IsQuitOnAllWindowClosed() override { + return is_quit_on_all_window_closed_; + } + void SetQuitOnAllWindowClosed(bool quit_on_all_window_closed) override { + is_quit_on_all_window_closed_ = quit_on_all_window_closed; + } + long long SetImmediate(std::function<void()> action) override; long long SetTimeout(std::chrono::milliseconds milliseconds, std::function<void()> action) override; @@ -41,16 +48,19 @@ class WinUiApplication : public WinNativeResource, void CancelTimer(long long id) override; std::vector<INativeWindow*> GetAllWindow() override; - INativeWindow* CreateWindow(INativeWindow* parent, CreateWindowFlag flag) override; + INativeWindow* CreateWindow() override; - cru::platform::graphics::IGraphFactory* GetGraphFactory() override; + cru::platform::graphics::IGraphicsFactory* GetGraphicsFactory() override; - cru::platform::graphics::win::direct::DirectGraphFactory* GetDirectFactory() { + cru::platform::graphics::win::direct::DirectGraphicsFactory* + GetDirectFactory() { return graph_factory_.get(); } ICursorManager* GetCursorManager() override; + IClipboard* GetClipboard() override; + HINSTANCE GetInstanceHandle() const { return instance_handle_; } GodWindow* GetGodWindow() const { return god_window_.get(); } @@ -60,7 +70,9 @@ class WinUiApplication : public WinNativeResource, private: HINSTANCE instance_handle_; - std::unique_ptr<cru::platform::graphics::win::direct::DirectGraphFactory> + bool is_quit_on_all_window_closed_ = true; + + std::unique_ptr<cru::platform::graphics::win::direct::DirectGraphicsFactory> graph_factory_; std::unique_ptr<GodWindow> god_window_; |