diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-09-10 00:12:09 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-09-10 00:12:09 +0800 |
commit | 51d7b915f6287d9c14c1228dd65e9adaa3c258bc (patch) | |
tree | 7433f8bee3394bf19d1fcd68974f603a90ee32dc /include/cru/platform/gui/xcb/Window.h | |
parent | 64b6ecf692b06483bebd7d5bbc48d72bfd485d57 (diff) | |
download | cru-51d7b915f6287d9c14c1228dd65e9adaa3c258bc.tar.gz cru-51d7b915f6287d9c14c1228dd65e9adaa3c258bc.tar.bz2 cru-51d7b915f6287d9c14c1228dd65e9adaa3c258bc.zip |
xcb window create destroy event.
Diffstat (limited to 'include/cru/platform/gui/xcb/Window.h')
-rw-r--r-- | include/cru/platform/gui/xcb/Window.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/cru/platform/gui/xcb/Window.h b/include/cru/platform/gui/xcb/Window.h index 3f21131c..475f2527 100644 --- a/include/cru/platform/gui/xcb/Window.h +++ b/include/cru/platform/gui/xcb/Window.h @@ -4,6 +4,7 @@ #include "Base.h" #include <xcb/xcb.h> +#include <cstddef> #include <optional> namespace cru::platform::gui::xcb { @@ -61,8 +62,8 @@ class XcbWindow : public XcbResource, public virtual INativeWindow { // Remember to call EndDraw on return value and destroy it. virtual std::unique_ptr<graphics::IPainter> BeginPaint() = 0; - virtual IEvent<std::nullptr_t>* CreateEvent() = 0; - virtual IEvent<std::nullptr_t>* DestroyEvent() = 0; + IEvent<std::nullptr_t>* CreateEvent() override; + IEvent<std::nullptr_t>* DestroyEvent() override; virtual IEvent<std::nullptr_t>* PaintEvent() = 0; virtual IEvent<WindowVisibilityType>* VisibilityChangeEvent() = 0; @@ -91,6 +92,9 @@ class XcbWindow : public XcbResource, public virtual INativeWindow { XcbUiApplication* application_; std::optional<xcb_window_t> xcb_window_; + Event<std::nullptr_t> create_event_; + Event<std::nullptr_t> destroy_event_; + Event<FocusChangeType> focus_event_; Event<MouseEnterLeaveType> mouse_enter_leave_event_; Event<Point> mouse_move_event_; |