aboutsummaryrefslogtreecommitdiff
path: root/include/cru/platform/gui/xcb/Window.h
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-09-30 00:16:13 +0800
committerYuqian Yang <crupest@crupest.life>2025-09-30 00:16:13 +0800
commit35ba6a2f719327e2ee3f31d5baa04f0ec5a0a09e (patch)
tree92db6b8b40d409a4faf06c3600111eec200f4775 /include/cru/platform/gui/xcb/Window.h
parent5862307366f4b7db492f1630bdf21ce240d8dd6c (diff)
downloadcru-35ba6a2f719327e2ee3f31d5baa04f0ec5a0a09e.tar.gz
cru-35ba6a2f719327e2ee3f31d5baa04f0ec5a0a09e.tar.bz2
cru-35ba6a2f719327e2ee3f31d5baa04f0ec5a0a09e.zip
Impl input method for xim.
Diffstat (limited to 'include/cru/platform/gui/xcb/Window.h')
-rw-r--r--include/cru/platform/gui/xcb/Window.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/cru/platform/gui/xcb/Window.h b/include/cru/platform/gui/xcb/Window.h
index 61e4b616..e330ba7c 100644
--- a/include/cru/platform/gui/xcb/Window.h
+++ b/include/cru/platform/gui/xcb/Window.h
@@ -12,6 +12,7 @@
namespace cru::platform::gui::xcb {
class XcbUiApplication;
class XcbCursor;
+class XcbXimInputMethodContext;
class XcbWindow : public XcbResource, public virtual INativeWindow {
friend XcbUiApplication;
@@ -79,6 +80,8 @@ class XcbWindow : public XcbResource, public virtual INativeWindow {
public:
std::optional<xcb_window_t> GetXcbWindow();
+ XcbUiApplication* GetXcbUiApplication();
+ bool HasFocus();
private:
xcb_window_t DoCreateWindow();
@@ -112,6 +115,7 @@ class XcbWindow : public XcbResource, public virtual INativeWindow {
std::shared_ptr<XcbCursor> cursor_;
XcbWindow* parent_;
+ XcbXimInputMethodContext* input_method_;
Event<std::nullptr_t> create_event_;
Event<std::nullptr_t> destroy_event_;