events.hpp 917 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. //
  2. // events.hpp
  3. // engine
  4. //
  5. // Created by Sam Jaffe on 9/2/16.
  6. //
  7. #pragma once
  8. #include "engine_fwd.hpp"
  9. #include "math/math_fwd.hpp"
  10. #include "math/vector.hpp"
  11. namespace engine {
  12. namespace key {
  13. enum default_keys : key_enum_t {
  14. FORWARD,
  15. LEFT,
  16. BACKWARD,
  17. RIGHT,
  18. JUMP,
  19. CROUCH,
  20. INTERACT,
  21. QUIT
  22. };
  23. }
  24. namespace event {
  25. enum event_type {
  26. PRESSED_MASK = 0x1,
  27. RELEASED_MASK = 0x2,
  28. KEY_MASK = 0x4,
  29. MOUSE_MASK = 0x8,
  30. KEY_PRESSED = KEY_MASK | PRESSED_MASK ,
  31. KEY_RELEASED = KEY_MASK | RELEASED_MASK,
  32. MOUSE_PRESSED = MOUSE_MASK | PRESSED_MASK ,
  33. MOUSE_RELEASED = MOUSE_MASK | RELEASED_MASK
  34. };
  35. struct key_event {
  36. key_enum_t key;
  37. event_type type;
  38. };
  39. struct mouse_event {
  40. math::vec2 current_mouse_position;
  41. event_type type;
  42. };
  43. }
  44. }