ui.h 846 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. int background_image;
  24. zori_id page;
  25. zori_id dialog;
  26. } hud;
  27. /* Settings page and widgets */
  28. struct ui_state_settings {
  29. zori_id page;
  30. zori_id menu;
  31. } settings;
  32. };
  33. void ui_setup(void);
  34. void ui_state_init(struct ui_state * ui, zori_display * display, zori_font * font);
  35. #endif