From 32aa6f116acc6e3e20a1ec76cef45b29f7005ad7 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Fri, 17 Oct 2025 12:06:14 +0800 Subject: Remove String stage 1. --- include/cru/platform/gui/xcb/Base.h | 8 +++--- include/cru/platform/gui/xcb/Clipboard.h | 4 +-- include/cru/platform/gui/xcb/Cursor.h | 5 ++-- include/cru/platform/gui/xcb/Input.h | 41 ++++++++++++++++++++++++++++ include/cru/platform/gui/xcb/InputMethod.h | 9 +++--- include/cru/platform/gui/xcb/Keyboard.h | 41 ---------------------------- include/cru/platform/gui/xcb/UiApplication.h | 2 +- include/cru/platform/gui/xcb/Window.h | 11 ++++---- 8 files changed, 61 insertions(+), 60 deletions(-) create mode 100644 include/cru/platform/gui/xcb/Input.h delete mode 100644 include/cru/platform/gui/xcb/Keyboard.h (limited to 'include/cru/platform/gui/xcb') diff --git a/include/cru/platform/gui/xcb/Base.h b/include/cru/platform/gui/xcb/Base.h index ad571a40..71007f87 100644 --- a/include/cru/platform/gui/xcb/Base.h +++ b/include/cru/platform/gui/xcb/Base.h @@ -1,19 +1,19 @@ #pragma once #include - -#include "../../Resource.h" +#include +#include namespace cru::platform::gui::xcb { class XcbResource : public Object, public virtual IPlatformResource { public: - static constexpr const char16_t* kPlatformId = u"XCB"; + static constexpr const char* kPlatformId = "XCB"; protected: XcbResource() = default; public: - String GetPlatformId() const final { return String(kPlatformId); } + std::string GetPlatformId() const final { return std::string(kPlatformId); } }; class XcbException : public PlatformException { diff --git a/include/cru/platform/gui/xcb/Clipboard.h b/include/cru/platform/gui/xcb/Clipboard.h index 44294cbc..690cd2b1 100644 --- a/include/cru/platform/gui/xcb/Clipboard.h +++ b/include/cru/platform/gui/xcb/Clipboard.h @@ -10,8 +10,8 @@ class XcbClipboard : public XcbResource, public virtual IClipboard { explicit XcbClipboard(XcbUiApplication* application); ~XcbClipboard() override; - String GetText() override; - void SetText(String text) override; + std::string GetText() override; + void SetText(std::string text) override; private: XcbUiApplication* application_; diff --git a/include/cru/platform/gui/xcb/Cursor.h b/include/cru/platform/gui/xcb/Cursor.h index 02ede7dd..03399333 100644 --- a/include/cru/platform/gui/xcb/Cursor.h +++ b/include/cru/platform/gui/xcb/Cursor.h @@ -1,9 +1,10 @@ #pragma once -#include -#include "../Cursor.h" #include "Base.h" +#include +#include + #include #include #include diff --git a/include/cru/platform/gui/xcb/Input.h b/include/cru/platform/gui/xcb/Input.h new file mode 100644 index 00000000..77e213de --- /dev/null +++ b/include/cru/platform/gui/xcb/Input.h @@ -0,0 +1,41 @@ +#pragma once + +#include + +#include +#include +#include + +namespace cru::platform::gui::xcb { +struct XcbUiApplication; + +KeyCode XorgKeysymToCruKeyCode(xcb_keysym_t keysym); +std::vector XorgKeycodeToKeysyms(XcbUiApplication* application, + xcb_keycode_t keycode); +KeyCode XorgKeycodeToCruKeyCode(XcbUiApplication* application, + xcb_keycode_t keycode); +std::unordered_map GetKeyboardState( + XcbUiApplication* application); +KeyModifier GetCurrentKeyModifiers(XcbUiApplication* application); + +/** + * Used to convert state field of xcb_button_press_event_t, + * xcb_button_release_event_t, xcb_key_press_event_t, xcb_key_release_event_t. + */ +KeyModifier ConvertModifiersOfEvent(uint32_t mask); + +class XcbKeyboardManager { + public: + explicit XcbKeyboardManager(XcbUiApplication* application); + ~XcbKeyboardManager(); + + std::string KeysymToUtf8(xcb_keysym_t keysym); + std::string KeycodeToUtf8(xcb_keycode_t keycode); + + private: + XcbUiApplication* application_; + xkb_context* xkb_context_; + xkb_keymap* xkb_keymap_; + xkb_state* xkb_state_; +}; +} // namespace cru::platform::gui::xcb diff --git a/include/cru/platform/gui/xcb/InputMethod.h b/include/cru/platform/gui/xcb/InputMethod.h index c5ffd416..e32ed63e 100644 --- a/include/cru/platform/gui/xcb/InputMethod.h +++ b/include/cru/platform/gui/xcb/InputMethod.h @@ -1,9 +1,10 @@ #pragma once -#include -#include "../InputMethod.h" #include "Base.h" +#include +#include + #include #include #include @@ -66,7 +67,7 @@ class XcbXimInputMethodContext : public XcbResource, IEvent* CompositionStartEvent() override; IEvent* CompositionEndEvent() override; IEvent* CompositionEvent() override; - IEvent* TextEvent() override; + IEvent* TextEvent() override; private: void CreateIc(xcb_window_t window); @@ -83,6 +84,6 @@ class XcbXimInputMethodContext : public XcbResource, Event composition_start_event_; Event composition_end_event_; Event composition_event_; - Event text_event_; + Event text_event_; }; } // namespace cru::platform::gui::xcb diff --git a/include/cru/platform/gui/xcb/Keyboard.h b/include/cru/platform/gui/xcb/Keyboard.h deleted file mode 100644 index adff95c1..00000000 --- a/include/cru/platform/gui/xcb/Keyboard.h +++ /dev/null @@ -1,41 +0,0 @@ -#pragma once - -#include - -#include -#include -#include - -namespace cru::platform::gui::xcb { -struct XcbUiApplication; - -KeyCode XorgKeysymToCruKeyCode(xcb_keysym_t keysym); -std::vector XorgKeycodeToKeysyms(XcbUiApplication* application, - xcb_keycode_t keycode); -KeyCode XorgKeycodeToCruKeyCode(XcbUiApplication* application, - xcb_keycode_t keycode); -std::unordered_map GetKeyboardState( - XcbUiApplication* application); -KeyModifier GetCurrentKeyModifiers(XcbUiApplication* application); - -/** - * Used to convert state field of xcb_button_press_event_t, - * xcb_button_release_event_t, xcb_key_press_event_t, xcb_key_release_event_t. - */ -KeyModifier ConvertModifiersOfEvent(uint32_t mask); - -class XcbKeyboardManager { - public: - explicit XcbKeyboardManager(XcbUiApplication* application); - ~XcbKeyboardManager(); - - std::string KeysymToUtf8(xcb_keysym_t keysym); - std::string KeycodeToUtf8(xcb_keycode_t keycode); - - private: - XcbUiApplication* application_; - xkb_context* xkb_context_; - xkb_keymap* xkb_keymap_; - xkb_state* xkb_state_; -}; -} // namespace cru::platform::gui::xcb diff --git a/include/cru/platform/gui/xcb/UiApplication.h b/include/cru/platform/gui/xcb/UiApplication.h index ab481c79..55138fd3 100644 --- a/include/cru/platform/gui/xcb/UiApplication.h +++ b/include/cru/platform/gui/xcb/UiApplication.h @@ -1,9 +1,9 @@ #pragma once -#include "../UiApplication.h" #include "Base.h" #include #include +#include #include #include diff --git a/include/cru/platform/gui/xcb/Window.h b/include/cru/platform/gui/xcb/Window.h index 5f1fd66e..bfd86297 100644 --- a/include/cru/platform/gui/xcb/Window.h +++ b/include/cru/platform/gui/xcb/Window.h @@ -1,11 +1,10 @@ #pragma once -#include -#include "../../GraphicsBase.h" -#include "../TimerHelper.h" -#include "../Window.h" #include "Base.h" +#include +#include + #include #include #include @@ -34,8 +33,8 @@ class XcbWindow : public XcbResource, public virtual INativeWindow { WindowStyleFlag GetStyleFlag() override; void SetStyleFlag(WindowStyleFlag flag) override; - String GetTitle() override; - void SetTitle(String title) override; + std::string GetTitle() override; + void SetTitle(std::string title) override; WindowVisibilityType GetVisibility() override; void SetVisibility(WindowVisibilityType visibility) override; -- cgit v1.2.3