aboutsummaryrefslogtreecommitdiff
path: root/src/platform/gui/xcb
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-10-17 12:06:14 +0800
committerYuqian Yang <crupest@crupest.life>2025-10-17 12:06:14 +0800
commit32aa6f116acc6e3e20a1ec76cef45b29f7005ad7 (patch)
tree892b71060a88b58d9293d78033000b05818783df /src/platform/gui/xcb
parentfaf77949e19dc0d01f75bf8abb783eda70328048 (diff)
downloadcru-32aa6f116acc6e3e20a1ec76cef45b29f7005ad7.tar.gz
cru-32aa6f116acc6e3e20a1ec76cef45b29f7005ad7.tar.bz2
cru-32aa6f116acc6e3e20a1ec76cef45b29f7005ad7.zip
Remove String stage 1.
Diffstat (limited to 'src/platform/gui/xcb')
-rw-r--r--src/platform/gui/xcb/CMakeLists.txt2
-rw-r--r--src/platform/gui/xcb/Clipboard.cpp4
-rw-r--r--src/platform/gui/xcb/Cursor.cpp1
-rw-r--r--src/platform/gui/xcb/Input.cpp (renamed from src/platform/gui/xcb/Keyboard.cpp)13
-rw-r--r--src/platform/gui/xcb/InputMethod.cpp11
-rw-r--r--src/platform/gui/xcb/UiApplication.cpp3
-rw-r--r--src/platform/gui/xcb/Window.cpp15
7 files changed, 20 insertions, 29 deletions
diff --git a/src/platform/gui/xcb/CMakeLists.txt b/src/platform/gui/xcb/CMakeLists.txt
index cafc2e67..676fc7b1 100644
--- a/src/platform/gui/xcb/CMakeLists.txt
+++ b/src/platform/gui/xcb/CMakeLists.txt
@@ -6,8 +6,8 @@ find_library(LIBRARY_XKBCOMMON_X11 xkbcommon-x11 REQUIRED)
add_library(CruPlatformGuiXcb
Clipboard.cpp
Cursor.cpp
+ Input.cpp
InputMethod.cpp
- Keyboard.cpp
UiApplication.cpp
Window.cpp
)
diff --git a/src/platform/gui/xcb/Clipboard.cpp b/src/platform/gui/xcb/Clipboard.cpp
index d0d9d74f..a42130ab 100644
--- a/src/platform/gui/xcb/Clipboard.cpp
+++ b/src/platform/gui/xcb/Clipboard.cpp
@@ -7,7 +7,7 @@ XcbClipboard::XcbClipboard(XcbUiApplication* application)
XcbClipboard::~XcbClipboard() {}
-String XcbClipboard::GetText() { return String{}; }
+std::string XcbClipboard::GetText() { return {}; }
-void XcbClipboard::SetText(String text) {}
+void XcbClipboard::SetText(std::string text) {}
} // namespace cru::platform::gui::xcb
diff --git a/src/platform/gui/xcb/Cursor.cpp b/src/platform/gui/xcb/Cursor.cpp
index 5582c6a6..69d904df 100644
--- a/src/platform/gui/xcb/Cursor.cpp
+++ b/src/platform/gui/xcb/Cursor.cpp
@@ -1,6 +1,5 @@
#include "cru/platform/gui/xcb/Cursor.h"
#include "cru/base/Exception.h"
-#include "cru/platform/gui/Cursor.h"
#include "cru/platform/gui/xcb/UiApplication.h"
#include <xcb/xcb.h>
diff --git a/src/platform/gui/xcb/Keyboard.cpp b/src/platform/gui/xcb/Input.cpp
index 4bfc448c..9b6d76c2 100644
--- a/src/platform/gui/xcb/Keyboard.cpp
+++ b/src/platform/gui/xcb/Input.cpp
@@ -1,7 +1,6 @@
-#include "cru/platform/gui/xcb/Keyboard.h"
+#include "cru/platform/gui/xcb/Input.h"
#include "cru/base/Exception.h"
#include "cru/base/Guard.h"
-#include "cru/platform/gui/Keyboard.h"
#include "cru/platform/gui/xcb/UiApplication.h"
#include <xcb/xcb.h>
@@ -200,11 +199,11 @@ KeyModifier ConvertModifiersOfEvent(uint32_t mask) {
// "Shift", "Lock", "Ctrl", "Alt", "Mod2", "Mod3", "Mod4",
// "Mod5", "Button1", "Button2", "Button3", "Button4", "Button5"};
constexpr KeyModifier MODIFIERS[] = {
- KeyModifiers::Shift, KeyModifiers::none, KeyModifiers::Ctrl,
- KeyModifiers::Alt, KeyModifiers::none, KeyModifiers::none,
- KeyModifiers::none, KeyModifiers::none, KeyModifiers::none,
- KeyModifiers::none, KeyModifiers::none, KeyModifiers::none,
- KeyModifiers::none,
+ KeyModifiers::Shift, KeyModifiers::None, KeyModifiers::Ctrl,
+ KeyModifiers::Alt, KeyModifiers::None, KeyModifiers::None,
+ KeyModifiers::None, KeyModifiers::None, KeyModifiers::None,
+ KeyModifiers::None, KeyModifiers::None, KeyModifiers::None,
+ KeyModifiers::None,
};
KeyModifier result;
diff --git a/src/platform/gui/xcb/InputMethod.cpp b/src/platform/gui/xcb/InputMethod.cpp
index 16d6b4bd..5ee06ab4 100644
--- a/src/platform/gui/xcb/InputMethod.cpp
+++ b/src/platform/gui/xcb/InputMethod.cpp
@@ -1,10 +1,7 @@
#include "cru/platform/gui/xcb/InputMethod.h"
#include "cru/base/log/Logger.h"
#include "cru/platform/Check.h"
-#include "cru/platform/gui/InputMethod.h"
-#include "cru/platform/gui/Keyboard.h"
-#include "cru/platform/gui/Window.h"
-#include "cru/platform/gui/xcb/Keyboard.h"
+#include "cru/platform/gui/xcb/Input.h"
#include "cru/platform/gui/xcb/UiApplication.h"
#include "cru/platform/gui/xcb/Window.h"
@@ -99,7 +96,7 @@ void XcbXimInputMethodManager::DispatchCommit(xcb_xim_t *im, xcb_xic_t ic,
if (focus_context_) {
focus_context_->composition_event_.Raise(nullptr);
focus_context_->composition_end_event_.Raise(nullptr);
- focus_context_->text_event_.Raise(String::FromUtf8(text));
+ focus_context_->text_event_.Raise(std::move(text));
}
}
@@ -135,7 +132,7 @@ XcbXimInputMethodContext::XcbXimInputMethodContext(
window->FocusEvent()->AddHandler([this, window](FocusChangeType type) {
auto context = CheckPlatform<XcbXimInputMethodContext>(
- window->GetInputMethodContext(), GetPlatformIdUtf8());
+ window->GetInputMethodContext(), GetPlatformId());
if (type == FocusChangeType::Gain) {
SetFocus();
}
@@ -208,7 +205,7 @@ IEvent<std::nullptr_t> *XcbXimInputMethodContext::CompositionEvent() {
return &composition_event_;
}
-IEvent<StringView> *XcbXimInputMethodContext::TextEvent() {
+IEvent<std::string> *XcbXimInputMethodContext::TextEvent() {
return &text_event_;
}
diff --git a/src/platform/gui/xcb/UiApplication.cpp b/src/platform/gui/xcb/UiApplication.cpp
index a0a949b7..436bb335 100644
--- a/src/platform/gui/xcb/UiApplication.cpp
+++ b/src/platform/gui/xcb/UiApplication.cpp
@@ -1,13 +1,12 @@
#include "cru/platform/gui/xcb/UiApplication.h"
-#include "cru/base/Base.h"
#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/Input.h"
#include "cru/platform/gui/xcb/InputMethod.h"
-#include "cru/platform/gui/xcb/Keyboard.h"
#include "cru/platform/gui/xcb/Window.h"
#include <poll.h>
diff --git a/src/platform/gui/xcb/Window.cpp b/src/platform/gui/xcb/Window.cpp
index 6458046b..003afc40 100644
--- a/src/platform/gui/xcb/Window.cpp
+++ b/src/platform/gui/xcb/Window.cpp
@@ -7,12 +7,9 @@
#include "cru/platform/graphics/NullPainter.h"
#include "cru/platform/graphics/Painter.h"
#include "cru/platform/graphics/cairo/CairoPainter.h"
-#include "cru/platform/gui/Base.h"
-#include "cru/platform/gui/Keyboard.h"
-#include "cru/platform/gui/Window.h"
#include "cru/platform/gui/xcb/Cursor.h"
+#include "cru/platform/gui/xcb/Input.h"
#include "cru/platform/gui/xcb/InputMethod.h"
-#include "cru/platform/gui/xcb/Keyboard.h"
#include "cru/platform/gui/xcb/UiApplication.h"
#include <cairo-xcb.h>
@@ -73,7 +70,7 @@ void XcbWindow::Close() {
INativeWindow *XcbWindow::GetParent() { return parent_; }
void XcbWindow::SetParent(INativeWindow *parent) {
- parent_ = CheckPlatform<XcbWindow>(parent, GetPlatformIdUtf8());
+ parent_ = CheckPlatform<XcbWindow>(parent, GetPlatformId());
if (xcb_window_) {
DoSetParent(*xcb_window_);
}
@@ -90,10 +87,10 @@ void XcbWindow::SetStyleFlag(WindowStyleFlag flag) {
application_->XcbFlush();
}
-String XcbWindow::GetTitle() { return String::FromUtf8(title_); }
+std::string XcbWindow::GetTitle() { return title_; }
-void XcbWindow::SetTitle(String title) {
- title_ = title.ToUtf8();
+void XcbWindow::SetTitle(std::string title) {
+ title_ = std::move(title);
if (xcb_window_) {
DoSetTitle(*xcb_window_);
}
@@ -271,7 +268,7 @@ bool XcbWindow::ReleaseMouse() {
void XcbWindow::SetCursor(std::shared_ptr<ICursor> cursor) {
if (!xcb_window_) return;
- auto xcb_cursor = CheckPlatform<XcbCursor>(cursor, GetPlatformIdUtf8());
+ auto xcb_cursor = CheckPlatform<XcbCursor>(cursor, GetPlatformId());
cursor_ = xcb_cursor;
DoSetCursor(*xcb_window_, xcb_cursor.get());
}