From 20fc1e5595e4f498d297c09934dbfcc005982f54 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Tue, 9 Sep 2025 20:15:44 +0800 Subject: Implement mouse button events. --- include/cru/platform/gui/xcb/Keyboard.h | 8 ++++++++ include/cru/platform/gui/xcb/Window.h | 9 ++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 include/cru/platform/gui/xcb/Keyboard.h (limited to 'include/cru/platform/gui/xcb') diff --git a/include/cru/platform/gui/xcb/Keyboard.h b/include/cru/platform/gui/xcb/Keyboard.h new file mode 100644 index 00000000..8d25ff7f --- /dev/null +++ b/include/cru/platform/gui/xcb/Keyboard.h @@ -0,0 +1,8 @@ +#pragma once + +#include + +namespace cru::platform::gui::xcb { +struct XcbUiApplication; +KeyModifier GetCurrentKeyModifiers(XcbUiApplication* application); +} // namespace cru::platform::gui::xcb diff --git a/include/cru/platform/gui/xcb/Window.h b/include/cru/platform/gui/xcb/Window.h index 1676dced..016b5717 100644 --- a/include/cru/platform/gui/xcb/Window.h +++ b/include/cru/platform/gui/xcb/Window.h @@ -71,9 +71,9 @@ class XcbWindow : public XcbResource, public virtual INativeWindow { IEvent* MouseEnterLeaveEvent() override; IEvent* MouseMoveEvent() override; - virtual IEvent* MouseDownEvent() = 0; - virtual IEvent* MouseUpEvent() = 0; - virtual IEvent* MouseWheelEvent() = 0; + IEvent* MouseDownEvent() override; + IEvent* MouseUpEvent() override; + IEvent* MouseWheelEvent() override; virtual IEvent* KeyDownEvent() = 0; virtual IEvent* KeyUpEvent() = 0; @@ -93,5 +93,8 @@ class XcbWindow : public XcbResource, public virtual INativeWindow { Event mouse_enter_leave_event_; Event mouse_move_event_; + Event mouse_down_event_; + Event mouse_up_event_; + Event mouse_wheel_event_; }; } // namespace cru::platform::gui::xcb -- cgit v1.2.3