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