gui_event.h 560 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include <stdint.h>
  3. #include <input/input.h>
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. typedef enum {
  8. GuiMessageTypeRedraw = 0x00,
  9. GuiMessageTypeInput = 0x01,
  10. } GuiMessageType;
  11. typedef struct {
  12. GuiMessageType type;
  13. InputEvent input;
  14. void* data;
  15. } GuiMessage;
  16. typedef struct GuiEvent GuiEvent;
  17. GuiEvent* gui_event_alloc();
  18. void gui_event_free(GuiEvent* gui_event);
  19. void gui_event_messsage_send(GuiEvent* gui_event, GuiMessage* message);
  20. GuiMessage gui_event_message_next(GuiEvent* gui_event);
  21. #ifdef __cplusplus
  22. }
  23. #endif