aboutsummaryrefslogtreecommitdiff
path: root/include/cru
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 /include/cru
parent7fffbd150b7dc54ced2cf79ed466c2beea6483b2 (diff)
downloadcru-79d77619281607f9b189de21493736c61fbcac7c.tar.gz
cru-79d77619281607f9b189de21493736c61fbcac7c.tar.bz2
cru-79d77619281607f9b189de21493736c61fbcac7c.zip
Bootstrap xcb clipboard.
Diffstat (limited to 'include/cru')
-rw-r--r--include/cru/platform/gui/xcb/Clipboard.h19
-rw-r--r--include/cru/platform/gui/xcb/UiApplication.h2
2 files changed, 21 insertions, 0 deletions
diff --git a/include/cru/platform/gui/xcb/Clipboard.h b/include/cru/platform/gui/xcb/Clipboard.h
new file mode 100644
index 00000000..44294cbc
--- /dev/null
+++ b/include/cru/platform/gui/xcb/Clipboard.h
@@ -0,0 +1,19 @@
+#pragma once
+
+#include "../Clipboard.h"
+#include "Base.h"
+
+namespace cru::platform::gui::xcb {
+class XcbUiApplication;
+class XcbClipboard : public XcbResource, public virtual IClipboard {
+ public:
+ explicit XcbClipboard(XcbUiApplication* application);
+ ~XcbClipboard() override;
+
+ String GetText() override;
+ void SetText(String text) override;
+
+ private:
+ XcbUiApplication* application_;
+};
+} // namespace cru::platform::gui::xcb
diff --git a/include/cru/platform/gui/xcb/UiApplication.h b/include/cru/platform/gui/xcb/UiApplication.h
index 72dd542a..3f27ffe6 100644
--- a/include/cru/platform/gui/xcb/UiApplication.h
+++ b/include/cru/platform/gui/xcb/UiApplication.h
@@ -15,6 +15,7 @@ class XcbWindow;
class XcbCursorManager;
class XcbXimInputMethodManager;
class XcbKeyboardManager;
+class XcbClipboard;
class XcbUiApplication : public XcbResource, public virtual IUiApplication {
friend XcbWindow;
@@ -107,5 +108,6 @@ class XcbUiApplication : public XcbResource, public virtual IUiApplication {
XcbCursorManager* cursor_manager_;
XcbXimInputMethodManager* input_method_manager_;
XcbKeyboardManager* keyboard_manager_;
+ XcbClipboard* clipboard_;
};
} // namespace cru::platform::gui::xcb