diff options
Diffstat (limited to 'include/cru/platform/gui/Window.hpp')
-rw-r--r-- | include/cru/platform/gui/Window.hpp | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/include/cru/platform/gui/Window.hpp b/include/cru/platform/gui/Window.hpp index b2129322..3502868a 100644 --- a/include/cru/platform/gui/Window.hpp +++ b/include/cru/platform/gui/Window.hpp @@ -1,14 +1,38 @@ #pragma once #include "Base.hpp" +#include "Keyboard.hpp" + #include "cru/common/Event.hpp" #include <string_view> namespace cru::platform::gui { +enum class FocusChangeType { Gain, Lost }; + +enum class MouseEnterLeaveType { Enter, Leave }; + +struct NativeMouseButtonEventArgs { + MouseButton button; + Point point; + KeyModifier modifier; +}; + +struct NativeMouseWheelEventArgs { + // Positive means down. Negative means up. + float delta; + Point point; + KeyModifier modifier; +}; + +struct NativeKeyEventArgs { + KeyCode key; + KeyModifier modifier; +}; + // Represents a native window, which exposes some low-level events and // operations. -struct INativeWindow : virtual INativeResource { +struct INativeWindow : virtual IPlatformResource { virtual void Close() = 0; virtual INativeWindow* GetParent() = 0; |