aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/cru/osx/gui/Window.hpp44
1 files changed, 33 insertions, 11 deletions
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<graphics::IPainter> BeginPaint() override;
- IEvent<std::nullptr_t>* DestroyEvent() override;
- IEvent<std::nullptr_t>* PaintEvent() override;
- IEvent<Size>* ResizeEvent() override;
- IEvent<FocusChangeType>* FocusEvent() override;
- IEvent<MouseEnterLeaveType>* MouseEnterLeaveEvent() override;
- IEvent<Point>* MouseMoveEvent() override;
- IEvent<NativeMouseButtonEventArgs>* MouseDownEvent() override;
- IEvent<NativeMouseButtonEventArgs>* MouseUpEvent() override;
- IEvent<NativeMouseWheelEventArgs>* MouseWheelEvent() override;
- IEvent<NativeKeyEventArgs>* KeyDownEvent() override;
- IEvent<NativeKeyEventArgs>* KeyUpEvent() override;
+ IEvent<std::nullptr_t>* DestroyEvent() override { return &destroy_event_; }
+ IEvent<std::nullptr_t>* PaintEvent() override { return &paint_event_; }
+ IEvent<Size>* ResizeEvent() override { return &resize_event_; }
+ IEvent<FocusChangeType>* FocusEvent() override { return &focus_event_; }
+ IEvent<MouseEnterLeaveType>* MouseEnterLeaveEvent() override {
+ return &mouse_enter_leave_event_;
+ }
+ IEvent<Point>* MouseMoveEvent() override { return &mouse_move_event_; }
+ IEvent<NativeMouseButtonEventArgs>* MouseDownEvent() override {
+ return &mouse_down_event_;
+ }
+ IEvent<NativeMouseButtonEventArgs>* MouseUpEvent() override {
+ return &mouse_up_event_;
+ }
+ IEvent<NativeMouseWheelEventArgs>* MouseWheelEvent() override {
+ return &mouse_wheel_event_;
+ }
+ IEvent<NativeKeyEventArgs>* KeyDownEvent() override {
+ return &key_down_event_;
+ }
+ IEvent<NativeKeyEventArgs>* KeyUpEvent() override { return &key_up_event_; }
IInputMethodContext* GetInputMethodContext() override;
@@ -68,5 +78,17 @@ class OsxWindow : public OsxGuiResource, public INativeWindow {
private:
std::unique_ptr<details::OsxWindowPrivate> p_;
+
+ Event<std::nullptr_t> destroy_event_;
+ Event<std::nullptr_t> paint_event_;
+ Event<Size> resize_event_;
+ Event<FocusChangeType> focus_event_;
+ 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_;
+ Event<NativeKeyEventArgs> key_down_event_;
+ Event<NativeKeyEventArgs> key_up_event_;
};
} // namespace cru::platform::gui::osx