From 08833937da98a7119195f980e82762becb563e28 Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 3 Oct 2021 13:48:15 +0800 Subject: ... --- include/cru/osx/gui/Window.hpp | 44 +++++++++++++++++++++++++++++++----------- 1 file changed, 33 insertions(+), 11 deletions(-) (limited to 'include/cru/osx/gui/Window.hpp') diff --git a/include/cru/osx/gui/Window.hpp b/include/cru/osx/gui/Window.hpp index 6bb6b747..a247c79e 100644 --- a/include/cru/osx/gui/Window.hpp +++ b/include/cru/osx/gui/Window.hpp @@ -49,17 +49,27 @@ class OsxWindow : public OsxGuiResource, public INativeWindow { std::unique_ptr BeginPaint() override; - IEvent* DestroyEvent() override; - IEvent* PaintEvent() override; - IEvent* ResizeEvent() override; - IEvent* FocusEvent() override; - IEvent* MouseEnterLeaveEvent() override; - IEvent* MouseMoveEvent() override; - IEvent* MouseDownEvent() override; - IEvent* MouseUpEvent() override; - IEvent* MouseWheelEvent() override; - IEvent* KeyDownEvent() override; - IEvent* KeyUpEvent() override; + IEvent* DestroyEvent() override { return &destroy_event_; } + IEvent* PaintEvent() override { return &paint_event_; } + IEvent* ResizeEvent() override { return &resize_event_; } + IEvent* FocusEvent() override { return &focus_event_; } + IEvent* MouseEnterLeaveEvent() override { + return &mouse_enter_leave_event_; + } + IEvent* MouseMoveEvent() override { return &mouse_move_event_; } + IEvent* MouseDownEvent() override { + return &mouse_down_event_; + } + IEvent* MouseUpEvent() override { + return &mouse_up_event_; + } + IEvent* MouseWheelEvent() override { + return &mouse_wheel_event_; + } + IEvent* KeyDownEvent() override { + return &key_down_event_; + } + IEvent* KeyUpEvent() override { return &key_up_event_; } IInputMethodContext* GetInputMethodContext() override; @@ -68,5 +78,17 @@ class OsxWindow : public OsxGuiResource, public INativeWindow { private: std::unique_ptr p_; + + Event destroy_event_; + Event paint_event_; + Event resize_event_; + Event focus_event_; + Event mouse_enter_leave_event_; + Event mouse_move_event_; + Event mouse_down_event_; + Event mouse_up_event_; + Event mouse_wheel_event_; + Event key_down_event_; + Event key_up_event_; }; } // namespace cru::platform::gui::osx -- cgit v1.2.3