1 /* file created on Mon Aug 26 15:30:05 CEST 2002 by doom */
2 
3 #ifndef _menu_H
4 #define _menu_H
5 
6 #include "menuitems.h"
7 #include "audio.h"
8 #include "IosImgProcess.h"
9 
10 /// MENU
11 ///
12 /// gestionnaire de menu
13 
14 typedef struct _MENU Menu;
15 
16 ///------------------------------
17 /// FONCTION DE PLUS HAUT NIVEAU
18 ///------------------------------
19 
20 /// alloue un nouveau gestionnaire de menu
21 Menu   * menu_new (MenuItems items, IIM_Surface * selimage);
22 
23 /// retourne 1 si l'item actif est it_name
24 int     menu_active_is (Menu * menu, const char *it_name);
25 
26 void    menu_next_item (Menu * menu);
27 void    menu_prev_item (Menu * menu);
28 
29 /// met a jour les donnees "temporelles" du menu..
30 /// (doit donc etre appele a chaque cycle du jeu/programme)
31 void    menu_update (Menu * menu, SDL_Surface * surf);
32 
33 /// affiche le menu sur la surface
34 void    menu_draw (Menu * menu, SDL_Surface * surf);
35 
36 /// null pour desactiver.
37 void    menu_set_sounds (Menu * menu, Sound * s_move, Sound * s_validate);
38 
39 /// informe le menu que le choix a �t� fait..
40 /// (continuer d'appeler la methode d'affichage du menu..
41 /// il se chargera de ne rien faire si rien n'est � faire).
42 void    menu_validate (Menu * menu);
43 
44 void    menu_show (Menu * menu);
45 void    menu_hide (Menu * menu);
46 
47 int     menu_visible (Menu * menu);
48 
49 /// switch la valeur d'un item ON/OFF
50 // retourne l'etat du switch
51 int     menu_switch_on_off (Menu * menu, const char *name);
52 
53 int     menu_progress_bar (Menu * menu, const char *name, int increment);
54 
55 ///
56 /// Fonctions pour faire des choses vraiment particuliere
57 ///
58 
59 /// retourne l'index de l'item actif */
60 int     menu_get_active_item (Menu * menu);
61 
62 /// retourne le nom de l'item actif */
63 const char *menu_get_active_item_string (Menu * menu);
64 
65 /// donne la valeur de l'item name */
66 const char *menu_get_value (Menu * menu, const char *name);
67 
68 /// affecte la valeur de l'item name */
69 void    menu_set_value (Menu * menu, const char *name, const char *value, int doValidate=1);
70 
71 #endif /* _menu_H */
72