1 /* file created on Wed Aug 28 13:32:02 CEST 2002 by doom */
2 
3 #ifndef _menuitems_H
4 #define _menuitems_H
5 
6 /// MENU ITEMS
7 
8 #include "glSDL.h"
9 #include "sofont.h"
10 
11 /// gestion des items du menu
12 /// ne jamais utiliser cette structure :
13 /// y'a des MACRO et des fonctions pour ca */
14 typedef struct _MENU_ITEM
15 {
16 	const char *name;
17 	char   *value;
18 	SDL_Surface *bitmap;					// NULL si c'est un separateur.
19 	SoFont *font;									// NULL si c'est un separateur.
20 
21 	float   priv_vx;
22 	float   priv_x;
23 	int     priv_must_anim;
24 
25 	int     inactive;
26 }
27 MenuItem;
28 
29 typedef MenuItem *MenuItems;
30 typedef MenuItem MenuItemsTab[];
31 
32 #define MENUITEM_BLANKLINE {"---",NULL,NULL,NULL,0,0,0,1}
33 #define MENUITEM_END {NULL,NULL,NULL,NULL,0,0,0,1}
34 #define MENUITEM(x) {x,NULL,NULL,NULL,0,0,0,0}
35 #define MENUITEM_INACTIVE(x) {x,NULL,NULL,NULL,0,0,0,1}
36 
37 void    menu_items_set_bitmap_for (MenuItems mi,
38 																	 const char *name, SDL_Surface * bitmap);
39 SDL_Surface *menu_items_get_bitmap (MenuItems mi, const char *name);
40 
41 void    menu_items_set_font_for (MenuItems mi,
42 
43 																 const char *name, SoFont * font);
44 SoFont *menu_items_get_font (MenuItems mi, const char *name);
45 
46 /// !!! une copie interne de value est cr��e !!!
47 void    menu_items_set_value_for (MenuItems mi, const char *name, const char *value);
48 const char *menu_items_get_value (MenuItems mi, const char *name);
49 
50 #define  menu_items_is_delimiter(mi,index) (mi[index].inactive)
51 
52 
53 #endif /* _menuitems_H */
54