One discrete event that fired within a frame. Frame-state (mouse position, button mask) lives on the owning frame record; this captures only events that can't be reconstructed from continuous state (key presses, character input, wheel deltas, resizes). More...
#include "donner/editor/repro/ReproFile.h"
Public Types | |
| enum class | Kind { MouseDown , MouseUp , KeyDown , KeyUp , Char , Wheel , Resize , Focus } |
| Discrete input event types supported by the replay format. | |
Public Attributes | |
| Kind | kind = Kind::MouseDown |
| Type of this discrete event. | |
| int | mouseButton = 0 |
| Mouse button index for MouseDown/MouseUp: 0 left, 1 right, 2 middle. | |
| int | key = 0 |
| ImGui key enum value for KeyDown/KeyUp, stored as an int without including imgui.h. | |
| int | modifiers = 0 |
| Ctrl/Shift/Alt/Super flags packed into bits 0-3, respectively. | |
| std::uint32_t | codepoint = 0 |
| UTF-32 code point for Char events. | |
| float | wheelDeltaX = 0.0f |
| Horizontal wheel delta for Wheel events. | |
| float | wheelDeltaY = 0.0f |
| Vertical wheel delta for Wheel events. | |
| int | width = 0 |
| Logical window width for Resize events, before DPI scaling. | |
| int | height = 0 |
| Logical window height for Resize events, before DPI scaling. | |
| bool | focusOn = true |
| Focus on/off for Focus events. | |
| std::optional< ReproHit > | hit |
| Hit-test checkpoint for MouseDown events. | |
One discrete event that fired within a frame. Frame-state (mouse position, button mask) lives on the owning frame record; this captures only events that can't be reconstructed from continuous state (key presses, character input, wheel deltas, resizes).