diff options
| author | crupest <crupest@outlook.com> | 2020-05-24 01:40:02 +0800 | 
|---|---|---|
| committer | crupest <crupest@outlook.com> | 2020-05-24 01:40:02 +0800 | 
| commit | d86a71f79afe0e4dac768f61d6bff690567aca5b (patch) | |
| tree | 4957e9a64c77680deb07201fbd879bf036616dae /include/cru/win/native/WindowNativeMessageEventArgs.hpp | |
| parent | f3a8fd608a9776ef0a5f547da918a32cf6074060 (diff) | |
| download | cru-d86a71f79afe0e4dac768f61d6bff690567aca5b.tar.gz cru-d86a71f79afe0e4dac768f61d6bff690567aca5b.tar.bz2 cru-d86a71f79afe0e4dac768f61d6bff690567aca5b.zip  | |
...
Diffstat (limited to 'include/cru/win/native/WindowNativeMessageEventArgs.hpp')
| -rw-r--r-- | include/cru/win/native/WindowNativeMessageEventArgs.hpp | 40 | 
1 files changed, 40 insertions, 0 deletions
diff --git a/include/cru/win/native/WindowNativeMessageEventArgs.hpp b/include/cru/win/native/WindowNativeMessageEventArgs.hpp new file mode 100644 index 00000000..84a7a123 --- /dev/null +++ b/include/cru/win/native/WindowNativeMessageEventArgs.hpp @@ -0,0 +1,40 @@ +#pragma once +#include "../WinPreConfig.hpp" + +#include "cru/common/Base.hpp" + +namespace cru::platform::native::win { +struct WindowNativeMessage { +  HWND hwnd; +  UINT msg; +  WPARAM w_param; +  LPARAM l_param; +}; + +class WindowNativeMessageEventArgs : public Object { + public: +  WindowNativeMessageEventArgs(const WindowNativeMessage& message) +      : message_(message) {} +  CRU_DEFAULT_COPY(WindowNativeMessageEventArgs) +  CRU_DEFAULT_MOVE(WindowNativeMessageEventArgs) +  ~WindowNativeMessageEventArgs() override = default; + +  const WindowNativeMessage& GetWindowMessage() const { return message_; } + +  LRESULT GetResult() const { return result_; } +  void SetResult(LRESULT result) { result_ = result; } + +  bool IsHandled() const { return handled_; } +  void SetHandled(bool handled) { handled_ = handled; } + +  void HandleWithResult(LRESULT result) { +    handled_ = true; +    result_ = result; +  } + + private: +  WindowNativeMessage message_; +  LRESULT result_; +  bool handled_ = false; +}; +}  // namespace cru::platform::native::win  | 
