input.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * Copyright 2010-2013 Branimir Karadzic. All rights reserved.
  3. * License: http://www.opensource.org/licenses/BSD-2-Clause
  4. */
  5. #ifndef INPUT_H_HEADER_GUARD
  6. #define INPUT_H_HEADER_GUARD
  7. #include <stdint.h>
  8. #include "entry.h"
  9. typedef void (*InputBindingFn)(const void* _userData);
  10. struct InputBinding
  11. {
  12. entry::Key::Enum m_key;
  13. uint8_t m_modifiers;
  14. uint8_t m_flags;
  15. InputBindingFn m_fn;
  16. const void* m_userData;
  17. };
  18. #define INPUT_BINDING_END { entry::Key::None, entry::Modifier::None, 0, NULL, NULL }
  19. ///
  20. void inputAddBindings(const char* _name, const InputBinding* _bindings);
  21. ///
  22. void inputRemoveBindings(const char* _name);
  23. ///
  24. void inputProcess();
  25. ///
  26. void inputSetKeyState(entry::Key::Enum _key, uint8_t _modifiers, bool _down);
  27. ///
  28. void inputSetMouseResolution(uint16_t _width, uint16_t _height);
  29. ///
  30. void inputSetMousePos(int32_t _mx, int32_t _my);
  31. ///
  32. void inputSetMouseButtonState(entry::MouseButton::Enum _button, uint8_t _state);
  33. ///
  34. void inputSetMouseLock(bool _lock);
  35. ///
  36. void inputGetMouse(float _mouse[2]);
  37. ///
  38. bool inputIsMouseLocked();
  39. #endif // INPUT_H_HEADER_GUARD