// // events.hpp // engine // // Created by Sam Jaffe on 9/2/16. // #pragma once #include "engine_fwd.hpp" #include "math/math_fwd.hpp" #include "math/vector.hpp" namespace engine { namespace key { enum default_keys : key_enum_t { FORWARD, LEFT, BACKWARD, RIGHT, JUMP, CROUCH, INTERACT, QUIT }; } 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; }; } }