diff options
Diffstat (limited to 'include/cru/platform/gui/xcb/InputMethod.h')
-rw-r--r-- | include/cru/platform/gui/xcb/InputMethod.h | 8 |
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: |