Initial commit
This commit is contained in:
commit
edfc5298e1
252 changed files with 93965 additions and 0 deletions
153
include/Spectre/Input/InputEvent.h
Normal file
153
include/Spectre/Input/InputEvent.h
Normal file
|
|
@ -0,0 +1,153 @@
|
|||
|
||||
#ifndef SPECTRE_INPUT_EVENT_H
|
||||
#define SPECTRE_INPUT_EVENT_H
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
namespace MouseButton {
|
||||
|
||||
enum Type {
|
||||
Unknown,
|
||||
Left,
|
||||
Right,
|
||||
Middle,
|
||||
Button1,
|
||||
Button2,
|
||||
NUM_MBUTTONS,
|
||||
};
|
||||
};
|
||||
|
||||
namespace Key {
|
||||
|
||||
enum Type {
|
||||
Unknown,
|
||||
A,
|
||||
B,
|
||||
C,
|
||||
D,
|
||||
E,
|
||||
F,
|
||||
G,
|
||||
H,
|
||||
I,
|
||||
J,
|
||||
K,
|
||||
L,
|
||||
M,
|
||||
N,
|
||||
O,
|
||||
P,
|
||||
Q,
|
||||
R,
|
||||
S,
|
||||
T,
|
||||
U,
|
||||
V,
|
||||
W,
|
||||
X,
|
||||
Y,
|
||||
Z,
|
||||
One,
|
||||
Two,
|
||||
Three,
|
||||
Four,
|
||||
Five,
|
||||
Six,
|
||||
Seven,
|
||||
Eight,
|
||||
Nine,
|
||||
Zero,
|
||||
Period,
|
||||
Comma,
|
||||
Enter,
|
||||
Backspace,
|
||||
Escape,
|
||||
Space,
|
||||
Capslock,
|
||||
Up,
|
||||
Down,
|
||||
Left,
|
||||
Right,
|
||||
NUMPAD_1,
|
||||
NUMPAD_2,
|
||||
NUMPAD_3,
|
||||
NUMPAD_4,
|
||||
NUMPAD_5,
|
||||
NUMPAD_6,
|
||||
NUMPAD_7,
|
||||
NUMPAD_8,
|
||||
NUMPAD_9,
|
||||
NUMPAD_0,
|
||||
NUMPAD_Enter,
|
||||
Home,
|
||||
End,
|
||||
Insert,
|
||||
Delete,
|
||||
PageUp,
|
||||
PageDown,
|
||||
Pause,
|
||||
F1,
|
||||
F2,
|
||||
F3,
|
||||
F4,
|
||||
F5,
|
||||
F6,
|
||||
F7,
|
||||
F8,
|
||||
F9,
|
||||
F10,
|
||||
F11,
|
||||
F12,
|
||||
Tab,
|
||||
LShift,
|
||||
RShift,
|
||||
LCtrl,
|
||||
RCtrl,
|
||||
LAlt,
|
||||
RAlt,
|
||||
NUM_KEYS,
|
||||
};
|
||||
}
|
||||
|
||||
typedef struct InputEvent
|
||||
{
|
||||
enum Type
|
||||
{
|
||||
None,
|
||||
Key,
|
||||
MouseButton,
|
||||
MousePosition
|
||||
};
|
||||
|
||||
struct KeyEvent {
|
||||
Key::Type code;
|
||||
bool pressed; /* true if pressed, false if released. */
|
||||
|
||||
std::string getKeyName() const; /* Get the key name */
|
||||
};
|
||||
|
||||
struct MouseButtonEvent {
|
||||
MouseButton::Type button;
|
||||
bool pressed; /* true if pressed, false if released. */
|
||||
|
||||
std::string getName() const;
|
||||
};
|
||||
|
||||
struct MouseEvent {
|
||||
unsigned int x;
|
||||
unsigned int y;
|
||||
};
|
||||
|
||||
Type type;
|
||||
union {
|
||||
struct KeyEvent key;
|
||||
struct MouseEvent mouse;
|
||||
struct MouseButtonEvent mouseButton;
|
||||
};
|
||||
|
||||
InputEvent(Type type = None);
|
||||
|
||||
} InputEvent;
|
||||
|
||||
#endif /* SPECTRE_INPUT_EVENT_H */
|
||||
Loading…
Add table
Add a link
Reference in a new issue