menu_event.h 723 B

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #include <stdint.h>
  3. #include <input/input.h>
  4. typedef enum {
  5. MenuMessageTypeUp = 0x00,
  6. MenuMessageTypeDown = 0x01,
  7. MenuMessageTypeLeft = 0x02,
  8. MenuMessageTypeRight = 0x03,
  9. MenuMessageTypeOk = 0x04,
  10. MenuMessageTypeBack = 0x05,
  11. MenuMessageTypeIdle = 0x06,
  12. MenuMessageTypeUnknown = 0xFF,
  13. } MenuMessageType;
  14. typedef struct {
  15. MenuMessageType type;
  16. void* data;
  17. } MenuMessage;
  18. typedef struct MenuEvent MenuEvent;
  19. MenuEvent* menu_event_alloc();
  20. void menu_event_free(MenuEvent* menu_event);
  21. void menu_event_activity_notify(MenuEvent* menu_event);
  22. MenuMessage menu_event_next(MenuEvent* menu_event);
  23. void menu_event_input_callback(InputEvent* input_event, void* context);