diff options
Diffstat (limited to 'include/cru/ui/events/FocusChangeEventArgs.hpp')
-rw-r--r-- | include/cru/ui/events/FocusChangeEventArgs.hpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/cru/ui/events/FocusChangeEventArgs.hpp b/include/cru/ui/events/FocusChangeEventArgs.hpp new file mode 100644 index 00000000..0e65c6e0 --- /dev/null +++ b/include/cru/ui/events/FocusChangeEventArgs.hpp @@ -0,0 +1,23 @@ +#pragma once +#include "UiEventArgs.hpp" + +namespace cru::ui::events { + +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_; +}; +} // namespace cru::ui::event |