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