From a9e3b3ee511f563d1abb67cbe042c3aeb0eca5db Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Sun, 30 Nov 2025 15:40:08 +0800 Subject: Impl sdl clipboard. --- include/cru/platform/gui/sdl/Base.h | 3 +-- include/cru/platform/gui/sdl/Clipboard.h | 12 ++++++++++++ include/cru/platform/gui/sdl/Cursor.h | 1 - include/cru/platform/gui/sdl/InputMethod.h | 1 - include/cru/platform/gui/sdl/UiApplication.h | 9 +++++++-- 5 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 include/cru/platform/gui/sdl/Clipboard.h (limited to 'include') diff --git a/include/cru/platform/gui/sdl/Base.h b/include/cru/platform/gui/sdl/Base.h index bd53fb51..74e4d8ce 100644 --- a/include/cru/platform/gui/sdl/Base.h +++ b/include/cru/platform/gui/sdl/Base.h @@ -1,7 +1,6 @@ - #pragma once -#include +#include namespace cru::platform::gui::sdl { class SdlResource : public Object, public virtual IPlatformResource { diff --git a/include/cru/platform/gui/sdl/Clipboard.h b/include/cru/platform/gui/sdl/Clipboard.h new file mode 100644 index 00000000..e5235a2d --- /dev/null +++ b/include/cru/platform/gui/sdl/Clipboard.h @@ -0,0 +1,12 @@ +#pragma once +#include "Base.h" + +#include + +namespace cru::platform::gui::sdl { +class SdlClipboard : public SdlResource, public virtual IClipboard { + public: + std::string GetText() override; + void SetText(std::string text) override; +}; +} // namespace cru::platform::gui::sdl diff --git a/include/cru/platform/gui/sdl/Cursor.h b/include/cru/platform/gui/sdl/Cursor.h index 2af99850..b2986b4f 100644 --- a/include/cru/platform/gui/sdl/Cursor.h +++ b/include/cru/platform/gui/sdl/Cursor.h @@ -1,5 +1,4 @@ #pragma once - #include "Base.h" #include diff --git a/include/cru/platform/gui/sdl/InputMethod.h b/include/cru/platform/gui/sdl/InputMethod.h index 77a78999..2a521112 100644 --- a/include/cru/platform/gui/sdl/InputMethod.h +++ b/include/cru/platform/gui/sdl/InputMethod.h @@ -1,5 +1,4 @@ #pragma once - #include "Base.h" #include diff --git a/include/cru/platform/gui/sdl/UiApplication.h b/include/cru/platform/gui/sdl/UiApplication.h index 776a4d80..5cb8276e 100644 --- a/include/cru/platform/gui/sdl/UiApplication.h +++ b/include/cru/platform/gui/sdl/UiApplication.h @@ -1,19 +1,21 @@ - #pragma once -#include "../UiApplication.h" #include "Base.h" #include #include +#include #include #include #include #include #include +#include namespace cru::platform::gui::sdl { class SdlWindow; +class SdlCursorManager; +class SdlClipboard; class SdlUiApplication : public SdlResource, public virtual IUiApplication { friend SdlWindow; @@ -77,5 +79,8 @@ class SdlUiApplication : public SdlResource, public virtual IUiApplication { bool is_quit_on_all_window_closed_; std::vector windows_; + + std::unique_ptr cursor_manager_; + std::unique_ptr clipboard_; }; } // namespace cru::platform::gui::sdl -- cgit v1.2.3