ui.h 820 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #ifndef ui_H_INCLUDED
  2. #define ui_H_INCLUDED
  3. /* Data struct for the particular GUI state */
  4. struct ui_state {
  5. zori_id screen;
  6. zori_id console;
  7. int mouse_image;
  8. int keyjoy_image;
  9. /* main page/menu */
  10. struct ui_state_main {
  11. zori_id page;
  12. zori_id menu;
  13. int background_image;
  14. /* menu buttons */
  15. struct ui_state_main_buttons {
  16. zori_id resume;
  17. zori_id new;
  18. zori_id settings;
  19. } button;
  20. } main;
  21. /* HUD page and widgets */
  22. struct ui_state_hud {
  23. zori_id page;
  24. zori_id dialog;
  25. } hud;
  26. /* Settings page and widgets */
  27. struct ui_state_settings {
  28. zori_id page;
  29. zori_id menu;
  30. } settings;
  31. };
  32. void ui_setup(void);
  33. void ui_state_init(struct ui_state * ui, zori_display * display, zori_font * font);
  34. #endif