From da54cf6e1dd9ffbf1e57a8a3c19e41a8fcedf5b1 Mon Sep 17 00:00:00 2001 From: crupest Date: Thu, 13 Sep 2018 23:42:44 +0800 Subject: ... --- CruUI/ui/events/ui_event.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'CruUI/ui/events') diff --git a/CruUI/ui/events/ui_event.h b/CruUI/ui/events/ui_event.h index efb0479b..ddf5f99f 100644 --- a/CruUI/ui/events/ui_event.h +++ b/CruUI/ui/events/ui_event.h @@ -168,6 +168,29 @@ namespace cru Size new_size_; }; + class FocusChangeEventArgs : public UiEventArgs + { + public: + FocusChangeEventArgs(Object* sender, Object* original_sender, const bool is_window =false) + : UiEventArgs(sender, original_sender), is_window_(is_window) + { + + } + FocusChangeEventArgs(const FocusChangeEventArgs& other) = default; + FocusChangeEventArgs(FocusChangeEventArgs&& other) = default; + FocusChangeEventArgs& operator=(const FocusChangeEventArgs& other) = default; + FocusChangeEventArgs& operator=(FocusChangeEventArgs&& other) = default; + ~FocusChangeEventArgs() override = default; + + // Return whether the focus change is caused by the window-wide focus change. + bool IsWindow() const + { + return is_window_; + } + + private: + bool is_window_; + }; using UiEvent = Event; using MouseEvent = Event; @@ -175,6 +198,7 @@ namespace cru using DrawEvent = Event; using PositionChangedEvent = Event; using SizeChangedEvent = Event; + using FocusChangeEvent = Event; } } } -- cgit v1.2.3