diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-09-09 20:15:44 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-09-09 20:15:44 +0800 |
commit | 20fc1e5595e4f498d297c09934dbfcc005982f54 (patch) | |
tree | 0fdc263a12b7a9996cbe7dfa2b4ff7d43b0e0ce8 /include/cru/platform/gui/xcb | |
parent | f761d4ef25ab0e695c79ae5c2ede1f850f1607af (diff) | |
download | cru-20fc1e5595e4f498d297c09934dbfcc005982f54.tar.gz cru-20fc1e5595e4f498d297c09934dbfcc005982f54.tar.bz2 cru-20fc1e5595e4f498d297c09934dbfcc005982f54.zip |
Implement mouse button events.
Diffstat (limited to 'include/cru/platform/gui/xcb')
-rw-r--r-- | include/cru/platform/gui/xcb/Keyboard.h | 8 | ||||
-rw-r--r-- | include/cru/platform/gui/xcb/Window.h | 9 |
2 files changed, 14 insertions, 3 deletions
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 <cru/platform/gui/Keyboard.h> + +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<MouseEnterLeaveType>* MouseEnterLeaveEvent() override; IEvent<Point>* MouseMoveEvent() override; - virtual IEvent<NativeMouseButtonEventArgs>* MouseDownEvent() = 0; - virtual IEvent<NativeMouseButtonEventArgs>* MouseUpEvent() = 0; - virtual IEvent<NativeMouseWheelEventArgs>* MouseWheelEvent() = 0; + IEvent<NativeMouseButtonEventArgs>* MouseDownEvent() override; + IEvent<NativeMouseButtonEventArgs>* MouseUpEvent() override; + IEvent<NativeMouseWheelEventArgs>* MouseWheelEvent() override; virtual IEvent<NativeKeyEventArgs>* KeyDownEvent() = 0; virtual IEvent<NativeKeyEventArgs>* KeyUpEvent() = 0; @@ -93,5 +93,8 @@ class XcbWindow : public XcbResource, public virtual INativeWindow { Event<MouseEnterLeaveType> mouse_enter_leave_event_; Event<Point> mouse_move_event_; + Event<NativeMouseButtonEventArgs> mouse_down_event_; + Event<NativeMouseButtonEventArgs> mouse_up_event_; + Event<NativeMouseWheelEventArgs> mouse_wheel_event_; }; } // namespace cru::platform::gui::xcb |