- TEST_SPEC.md: Updated test directory structure to reflect Core/Asset, Core/IO, and Resources/<Type> subdirectories - TEST_SPEC.md: Updated module names and test counts (852 total) - TEST_SPEC.md: Updated build commands for new Resources subdirectories - README.md: Updated engine structure with Core/Asset/ and Core/IO/ - README.md: Updated Resources section with layered architecture - README.md: Updated test coverage table with accurate counts
50 lines
917 B
C++
50 lines
917 B
C++
#pragma once
|
|
#include "InputTypes.h"
|
|
#include <XCEngine/Core/Math/Vector2.h>
|
|
#include <XCEngine/Core/Containers/String.h>
|
|
|
|
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
|