aboutsummaryrefslogtreecommitdiff
path: root/include/cru/win/native/ui_application.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/win/native/ui_application.hpp')
-rw-r--r--include/cru/win/native/ui_application.hpp76
1 files changed, 0 insertions, 76 deletions
diff --git a/include/cru/win/native/ui_application.hpp b/include/cru/win/native/ui_application.hpp
deleted file mode 100644
index 250e855c..00000000
--- a/include/cru/win/native/ui_application.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-#pragma once
-#include "resource.hpp"
-
-#include "cru/platform/native/ui_application.hpp"
-
-#include <memory>
-
-namespace cru::platform::graph::win::direct {
-class DirectGraphFactory;
-}
-
-namespace cru::platform::native::win {
-class WinUiApplication : public WinNativeResource,
- public virtual IUiApplication {
- public:
- static WinUiApplication* GetInstance() { return instance; }
-
- private:
- static WinUiApplication* instance;
-
- public:
- WinUiApplication();
-
- CRU_DELETE_COPY(WinUiApplication)
- CRU_DELETE_MOVE(WinUiApplication)
-
- ~WinUiApplication() override;
-
- public:
- int Run() override;
- void RequestQuit(int quit_code) override;
-
- void AddOnQuitHandler(std::function<void()> handler) override;
-
- void InvokeLater(std::function<void()> action) override;
- long long SetTimeout(std::chrono::milliseconds milliseconds,
- std::function<void()> action) override;
- long long SetInterval(std::chrono::milliseconds milliseconds,
- std::function<void()> action) override;
- void CancelTimer(long long id) override;
-
- std::vector<INativeWindow*> GetAllWindow() override;
- std::shared_ptr<INativeWindowResolver> CreateWindow(
- INativeWindow* parent) override;
-
- cru::platform::graph::IGraphFactory* GetGraphFactory() override;
-
- cru::platform::graph::win::direct::DirectGraphFactory* GetDirectFactory() {
- return graph_factory_.get();
- }
-
- ICursorManager* GetCursorManager() override;
- IInputMethodManager* GetInputMethodManager() override;
-
- HINSTANCE GetInstanceHandle() const { return instance_handle_; }
-
- GodWindow* GetGodWindow() const { return god_window_.get(); }
- TimerManager* GetTimerManager() const { return timer_manager_.get(); }
- WindowManager* GetWindowManager() const { return window_manager_.get(); }
-
- private:
- HINSTANCE instance_handle_;
-
- std::unique_ptr<cru::platform::graph::win::direct::DirectGraphFactory>
- graph_factory_;
-
- std::unique_ptr<GodWindow> god_window_;
- std::unique_ptr<TimerManager> timer_manager_;
- std::unique_ptr<WindowManager> window_manager_;
-
- std::unique_ptr<WinCursorManager> cursor_manager_;
- std::unique_ptr<WinInputMethodManager> input_method_manager_;
-
- std::vector<std::function<void()>> quit_handlers_;
-};
-} // namespace cru::platform::native::win