gui_event.h 579 B

1234567891011121314151617181920212223242526272829
  1. #pragma once
  2. #include <stdint.h>
  3. #include <input/input.h>
  4. typedef enum {
  5. GUIMessageTypeRedraw = 0x00,
  6. GUIMessageTypeInput = 0x01,
  7. } GUIMessageType;
  8. typedef struct {
  9. GUIMessageType type;
  10. InputEvent input;
  11. void* data;
  12. } GUIMessage;
  13. typedef struct GUIEvent GUIEvent;
  14. GUIEvent* gui_event_alloc();
  15. void gui_event_free(GUIEvent* gui_event);
  16. void gui_event_lock(GUIEvent* gui_event);
  17. void gui_event_unlock(GUIEvent* gui_event);
  18. void gui_event_messsage_send(GUIEvent* gui_event, GUIMessage* message);
  19. GUIMessage gui_event_message_next(GUIEvent* gui_event);