| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- //
- // events.hpp
- // engine
- //
- // Created by Sam Jaffe on 9/2/16.
- //
- #pragma once
- #include "game/math/math_fwd.hpp"
- #include "vector/vector.hpp"
- #include "engine_fwd.hpp"
- namespace engine {
- namespace keys {
- enum default_keys : key_enum_t { QUIT = 'q' };
- extern key_enum_t const UP_ARROW;
- extern key_enum_t const DOWN_ARROW;
- extern key_enum_t const LEFT_ARROW;
- extern key_enum_t const RIGHT_ARROW;
- extern key_enum_t const MOD_SHIFT;
- extern key_enum_t const MOD_CONTROL;
- extern key_enum_t const MOD_ALT;
- extern key_enum_t const MOD_COMMAND;
- }
- namespace event {
- enum event_type {
- PRESSED_MASK = 0x1,
- RELEASED_MASK = 0x2,
- KEY_MASK = 0x4,
- MOUSE_MASK = 0x8,
- KEY_PRESSED = KEY_MASK | PRESSED_MASK,
- KEY_RELEASED = KEY_MASK | RELEASED_MASK,
- MOUSE_PRESSED = MOUSE_MASK | PRESSED_MASK,
- MOUSE_RELEASED = MOUSE_MASK | RELEASED_MASK
- };
- struct key_event {
- key_enum_t key;
- event_type type;
- };
- struct mouse_event {
- math::vec2 current_mouse_position;
- event_type type;
- };
- }
- }
|