#ifndef ui_H_INCLUDED
#define ui_H_INCLUDED



/* Data struct for the particular GUI state */
struct ui_state {
  zori_id screen;
  zori_id console;
  
  int mouse_image;
  int keyjoy_image;
  
  /* main page/menu */
  struct ui_state_main {
    zori_id page;
    zori_id menu;
    
    int background_image;
    
    /* menu buttons */
    struct ui_state_main_buttons { 
      zori_id resume;
      zori_id new;
      zori_id settings;      
    } button;
  } main;
  
  /* HUD page and widgets */
  struct ui_state_hud {
    zori_id page;
    zori_id dialog;
  } hud;
  
  /* Settings page and widgets */
  struct ui_state_settings {
    zori_id page;    
    zori_id menu;    
  } settings;
  
};


void ui_setup(void);
void ui_state_init(struct ui_state * ui, zori_display * display, zori_font * font);

#endif




