aboutsummaryrefslogtreecommitdiff
path: root/include/cru/platform/gui/xcb/InputMethod.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/platform/gui/xcb/InputMethod.h')
-rw-r--r--include/cru/platform/gui/xcb/InputMethod.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/cru/platform/gui/xcb/InputMethod.h b/include/cru/platform/gui/xcb/InputMethod.h
index 286f3158..0c928b24 100644
--- a/include/cru/platform/gui/xcb/InputMethod.h
+++ b/include/cru/platform/gui/xcb/InputMethod.h
@@ -1,5 +1,6 @@
#pragma once
+#include <cru/base/Base.h>
#include "../InputMethod.h"
#include "Base.h"
@@ -12,6 +13,8 @@ class XcbUiApplication;
class XcbWindow;
class XcbXimInputMethodManager : public XcbResource {
+ CRU_DEFINE_CLASS_LOG_TAG("cru::platform::gui::xcb::XcbXimInputMethodManager")
+
friend XcbUiApplication;
public:
@@ -25,14 +28,19 @@ class XcbXimInputMethodManager : public XcbResource {
void DispatchComposition(xcb_xim_t* im, xcb_xic_t ic, CompositionText text);
bool HandleXEvent(xcb_generic_event_t* event);
+ void SetXimServerUnprocessedXEventCallback(
+ std::function<void(xcb_key_press_event_t* event)> callback);
private:
XcbUiApplication* application_;
xcb_xim_t* im_;
+ std::function<void(xcb_key_press_event_t* event)> forward_event_callback_;
};
class XcbXimInputMethodContext : public XcbResource,
public virtual IInputMethodContext {
+ CRU_DEFINE_CLASS_LOG_TAG("cru::platform::gui::xcb::XcbXimInputMethodContext")
+
friend XcbXimInputMethodManager;
public: