aboutsummaryrefslogtreecommitdiff
path: root/src/platform/gui/sdl/UiApplication.cpp
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-11-30 15:40:08 +0800
committerYuqian Yang <crupest@crupest.life>2025-11-30 15:40:08 +0800
commita9e3b3ee511f563d1abb67cbe042c3aeb0eca5db (patch)
tree0e222bf6853badb18a20e1f747ceb27c850881f6 /src/platform/gui/sdl/UiApplication.cpp
parent7d20efa165289db22c7ff620f1c59f422a025820 (diff)
downloadcru-a9e3b3ee511f563d1abb67cbe042c3aeb0eca5db.tar.gz
cru-a9e3b3ee511f563d1abb67cbe042c3aeb0eca5db.tar.bz2
cru-a9e3b3ee511f563d1abb67cbe042c3aeb0eca5db.zip
Impl sdl clipboard.
Diffstat (limited to 'src/platform/gui/sdl/UiApplication.cpp')
-rw-r--r--src/platform/gui/sdl/UiApplication.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/platform/gui/sdl/UiApplication.cpp b/src/platform/gui/sdl/UiApplication.cpp
index 6d52b5f7..42c50f4d 100644
--- a/src/platform/gui/sdl/UiApplication.cpp
+++ b/src/platform/gui/sdl/UiApplication.cpp
@@ -3,6 +3,8 @@
#include "cru/base/Base.h"
#include "cru/platform/graphics/Factory.h"
#include "cru/platform/gui/sdl/Base.h"
+#include "cru/platform/gui/sdl/Clipboard.h"
+#include "cru/platform/gui/sdl/Cursor.h"
#include "cru/platform/gui/sdl/Window.h"
#include <SDL3/SDL_events.h>
@@ -11,6 +13,7 @@
#include <algorithm>
#include <chrono>
#include <functional>
+#include <memory>
#include <optional>
namespace cru::platform::gui::sdl {
@@ -21,6 +24,9 @@ SdlUiApplication::SdlUiApplication(graphics::IGraphicsFactory* graphics_factory,
quit_code_(0) {
CheckSdlReturn(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_EVENTS));
empty_event_type_ = SDL_RegisterEvents(1);
+
+ cursor_manager_ = std::make_unique<SdlCursorManager>();
+ clipboard_ = std::make_unique<SdlClipboard>();
}
SdlUiApplication::~SdlUiApplication() {
@@ -117,9 +123,11 @@ SdlUiApplication::GetGraphicsFactory() {
return graphics_factory_;
}
-ICursorManager* SdlUiApplication::GetCursorManager() { NotImplemented(); }
+ICursorManager* SdlUiApplication::GetCursorManager() {
+ return cursor_manager_.get();
+}
-IClipboard* SdlUiApplication::GetClipboard() { NotImplemented(); }
+IClipboard* SdlUiApplication::GetClipboard() { return clipboard_.get(); }
IMenu* SdlUiApplication::GetApplicationMenu() { return nullptr; }