diff options
Diffstat (limited to 'Runtime/Events/InputEvent.h')
-rw-r--r-- | Runtime/Events/InputEvent.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/Runtime/Events/InputEvent.h b/Runtime/Events/InputEvent.h new file mode 100644 index 0000000..5a5ed36 --- /dev/null +++ b/Runtime/Events/InputEvent.h @@ -0,0 +1,54 @@ +#pragma once + +#include "Runtime/Lua/LuaHelper.h" +#include "Runtime/Math/Math.h" + +enum EInputEventType +{ + InputEvent_MouseDown = 0, + InputEvent_MouseUp = 1, + InputEvent_MouseMove = 2, + InputEvent_MouseDrag = 3, + InputEvent_KeyDown = 4, + InputEvent_KeyUp = 5, + InputEvent_ScrollWheel = 6, + InputEvent_Repaint = 7, + InputEvent_Layout = 8, + InputEvent_DragUpdated = 9, + InputEvent_DragPerform = 10, + InputEvent_DragExited = 15, + InputEvent_Ignore = 11, + InputEvent_Used = 12, + InputEvent_ValidateCommand = 13, + InputEvent_ExecuteCommand = 14, + InputEvent_ContextClick = 16, + InputEvent_MouseEnterWindow = 20, + InputEvent_MouseLeaveWindow = 21, + InputEvent_MagnifyGesture = 1000, + InputEvent_SwipeGesture = 1001, + InputEvent_RotateGesture = 1002 +}; + +// ÊäÈëʼþ +struct InputEvent : public LuaBind::INativeTable +{ + EInputEventType type; + + Vector2f mousePosition; + Vector2f mouseDelta; + + int button; ///< mouse button number. (bitfield of MouseButton enum) + int modifiers; ///< keyboard modifier flags. (bitfield of Modifiers enum) + float pressure; ///< Stylus pressure. + int clickCount; + uint16_t character; ///< unicode keyboard character (with modifiers). + uint16_t keycode; ///< The keyboard scancode of the event. + int displayIndex; ///< Display index to which this event belongs. + char* commandString; + bool keyRepeat; ///< Is the event the result of key repeat? + + bool use; + + void CastToTable(LuaBind::State& state) override; + +};
\ No newline at end of file |