aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-10-08 22:26:14 +0800
committerYuqian Yang <crupest@crupest.life>2025-10-08 22:26:14 +0800
commit79d77619281607f9b189de21493736c61fbcac7c (patch)
tree3851228543284305e24fabc2d26b85eed4fe0ffe /src
parent7fffbd150b7dc54ced2cf79ed466c2beea6483b2 (diff)
downloadcru-79d77619281607f9b189de21493736c61fbcac7c.tar.gz
cru-79d77619281607f9b189de21493736c61fbcac7c.tar.bz2
cru-79d77619281607f9b189de21493736c61fbcac7c.zip
Bootstrap xcb clipboard.
Diffstat (limited to 'src')
-rw-r--r--src/platform/gui/xcb/CMakeLists.txt1
-rw-r--r--src/platform/gui/xcb/Clipboard.cpp13
-rw-r--r--src/platform/gui/xcb/UiApplication.cpp5
3 files changed, 18 insertions, 1 deletions
diff --git a/src/platform/gui/xcb/CMakeLists.txt b/src/platform/gui/xcb/CMakeLists.txt
index 9ae1019d..cafc2e67 100644
--- a/src/platform/gui/xcb/CMakeLists.txt
+++ b/src/platform/gui/xcb/CMakeLists.txt
@@ -4,6 +4,7 @@ find_library(LIBRARY_XCB_IMDKIT xcb-imdkit REQUIRED)
find_library(LIBRARY_XKBCOMMON xkbcommon REQUIRED)
find_library(LIBRARY_XKBCOMMON_X11 xkbcommon-x11 REQUIRED)
add_library(CruPlatformGuiXcb
+ Clipboard.cpp
Cursor.cpp
InputMethod.cpp
Keyboard.cpp
diff --git a/src/platform/gui/xcb/Clipboard.cpp b/src/platform/gui/xcb/Clipboard.cpp
new file mode 100644
index 00000000..d0d9d74f
--- /dev/null
+++ b/src/platform/gui/xcb/Clipboard.cpp
@@ -0,0 +1,13 @@
+#include "cru/platform/gui/xcb/Clipboard.h"
+#include "cru/platform/gui/xcb/UiApplication.h"
+
+namespace cru::platform::gui::xcb {
+XcbClipboard::XcbClipboard(XcbUiApplication* application)
+ : application_(application) {}
+
+XcbClipboard::~XcbClipboard() {}
+
+String XcbClipboard::GetText() { return String{}; }
+
+void XcbClipboard::SetText(String text) {}
+} // namespace cru::platform::gui::xcb
diff --git a/src/platform/gui/xcb/UiApplication.cpp b/src/platform/gui/xcb/UiApplication.cpp
index a943fe1f..07fd5a36 100644
--- a/src/platform/gui/xcb/UiApplication.cpp
+++ b/src/platform/gui/xcb/UiApplication.cpp
@@ -4,6 +4,7 @@
#include "cru/base/Guard.h"
#include "cru/platform/graphics/cairo/CairoGraphicsFactory.h"
#include "cru/platform/gui/Window.h"
+#include "cru/platform/gui/xcb/Clipboard.h"
#include "cru/platform/gui/xcb/Cursor.h"
#include "cru/platform/gui/xcb/InputMethod.h"
#include "cru/platform/gui/xcb/Keyboard.h"
@@ -40,9 +41,11 @@ XcbUiApplication::XcbUiApplication(
cursor_manager_ = new XcbCursorManager(this);
input_method_manager_ = new XcbXimInputMethodManager(this);
keyboard_manager_ = new XcbKeyboardManager(this);
+ clipboard_ = new XcbClipboard(this);
}
XcbUiApplication::~XcbUiApplication() {
+ delete clipboard_;
delete keyboard_manager_;
delete input_method_manager_;
delete cursor_manager_;
@@ -170,7 +173,7 @@ XcbUiApplication::GetGraphicsFactory() {
ICursorManager *XcbUiApplication::GetCursorManager() { return cursor_manager_; }
-IClipboard *XcbUiApplication::GetClipboard() { NotImplemented(); }
+IClipboard *XcbUiApplication::GetClipboard() { return clipboard_; }
IMenu *XcbUiApplication::GetApplicationMenu() { return nullptr; }