#pragma once #include "InputTypes.h" #include #include namespace XCEngine { namespace Input { struct KeyEvent { KeyCode keyCode; bool alt; bool ctrl; bool shift; bool meta; enum Type { Down, Up, Repeat } type; }; struct MouseButtonEvent { MouseButton button; Math::Vector2 position; enum Type { Pressed, Released } type; }; struct MouseMoveEvent { Math::Vector2 position; Math::Vector2 delta; }; struct MouseWheelEvent { Math::Vector2 position; float delta; }; struct TextInputEvent { char character; Containers::String text; }; struct TouchState { int touchId; Math::Vector2 position; Math::Vector2 deltaPosition; float deltaTime; int tapCount; enum Phase { Began, Moved, Stationary, Ended, Canceled } phase; }; } // namespace Input } // namespace XCEngine