diff options
author | Yuqian Yang <crupest@outlook.com> | 2018-09-23 16:48:18 +0000 |
---|---|---|
committer | Yuqian Yang <crupest@outlook.com> | 2018-09-23 16:48:18 +0000 |
commit | 001e1d955132a02a2f7effc841ab9e5ee425eda1 (patch) | |
tree | 1bfbdcc2a25316d6e85cc9b4527a1ec15841b502 /CruUI/ui/events/ui_event.h | |
parent | 796ba6e1e816ec87a106f2f7b501e38c99f059e1 (diff) | |
parent | 9049f7674e0808cc3676543e0a95330a1657d10e (diff) | |
download | cru-001e1d955132a02a2f7effc841ab9e5ee425eda1.tar.gz cru-001e1d955132a02a2f7effc841ab9e5ee425eda1.tar.bz2 cru-001e1d955132a02a2f7effc841ab9e5ee425eda1.zip |
Merge branch 'textboxdev' into 'master'
TextBox develop.
See merge request crupest/CruUI!2
Diffstat (limited to 'CruUI/ui/events/ui_event.h')
-rw-r--r-- | CruUI/ui/events/ui_event.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/CruUI/ui/events/ui_event.h b/CruUI/ui/events/ui_event.h index a17067c7..b042b706 100644 --- a/CruUI/ui/events/ui_event.h +++ b/CruUI/ui/events/ui_event.h @@ -257,6 +257,50 @@ namespace cru std::optional<LRESULT> result_; }; + class KeyEventArgs : public UiEventArgs + { + public: + KeyEventArgs(Object* sender, Object* original_sender, int virtual_code) + : UiEventArgs(sender, original_sender), virtual_code_(virtual_code) + { + } + KeyEventArgs(const KeyEventArgs& other) = default; + KeyEventArgs(KeyEventArgs&& other) = default; + KeyEventArgs& operator=(const KeyEventArgs& other) = default; + KeyEventArgs& operator=(KeyEventArgs&& other) = default; + ~KeyEventArgs() override = default; + + int GetVirtualCode() const + { + return virtual_code_; + } + + private: + int virtual_code_; + }; + + class CharEventArgs : public UiEventArgs + { + public: + CharEventArgs(Object* sender, Object* original_sender, wchar_t c) + : UiEventArgs(sender, original_sender), c_(c) + { + } + CharEventArgs(const CharEventArgs& other) = default; + CharEventArgs(CharEventArgs&& other) = default; + CharEventArgs& operator=(const CharEventArgs& other) = default; + CharEventArgs& operator=(CharEventArgs&& other) = default; + ~CharEventArgs() override = default; + + wchar_t GetChar() const + { + return c_; + } + + private: + wchar_t c_; + }; + using UiEvent = Event<UiEventArgs>; using MouseEvent = Event<MouseEventArgs>; using MouseButtonEvent = Event<MouseButtonEventArgs>; @@ -266,6 +310,8 @@ namespace cru using FocusChangeEvent = Event<FocusChangeEventArgs>; using ToggleEvent = Event<ToggleEventArgs>; using WindowNativeMessageEvent = Event<WindowNativeMessageEventArgs>; + using KeyEvent = Event<KeyEventArgs>; + using CharEvent = Event<CharEventArgs>; } } }
\ No newline at end of file |