summaryrefslogtreecommitdiff
path: root/src/menus.h
diff options
context:
space:
mode:
authorMichael Jennings <mej@kainx.org>1999-10-08 18:49:57 +0000
committerMichael Jennings <mej@kainx.org>1999-10-08 18:49:57 +0000
commit11b7b87dadae20bcb16643a9f4256b148581765e (patch)
treec8d5f2f1990b165e352947b9ff9f94e437edcdb2 /src/menus.h
parentdd84c6ababafc584371af657ac47fa6493b1e4d4 (diff)
downloadeterm-11b7b87dadae20bcb16643a9f4256b148581765e.tar.gz
Fri Oct 8 15:31:49 PDT 1999 Michael Jennings <mej@eterm.org>
This should fix all the weird menu behavior from time to time (well, I hope it does anyway). SVN revision: 719
Diffstat (limited to 'src/menus.h')
-rw-r--r--src/menus.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/menus.h b/src/menus.h
index 9dcd315..f39aa5b 100644
--- a/src/menus.h
+++ b/src/menus.h
@@ -46,9 +46,13 @@
#define MENU_HGAP 4
#define MENU_VGAP 4
#define MENU_CLICK_TIME 20
+#define NO_CURRENT_ITEM ((unsigned short) -1)
-#define menu_is_pixmapped() ((images[image_menu].current->iml->im) && (images[image_menu].mode & MODE_MASK))
-#define menu_submenu_is_pixmapped() ((images[image_submenu].current->iml->im) && (images[image_submenu].mode & MODE_MASK))
+#define menu_is_pixmapped() ((images[image_menu].current->iml->im) && (images[image_menu].mode & MODE_MASK))
+#define menu_submenu_is_pixmapped() ((images[image_submenu].current->iml->im) && (images[image_submenu].mode & MODE_MASK))
+#define menuitem_get_current(m) (((m)->curitem != NO_CURRENT_ITEM) ? ((m)->items[(m)->curitem]) : (NULL))
+#define menuitem_set_current(m, i) ((m)->curitem = (i))
+#define menuitem_clear_current(m) ((m)->curitem = NO_CURRENT_ITEM)
/************ Structures ************/
typedef struct menu_t_struct menu_t;
@@ -121,8 +125,8 @@ extern void menu_reset(menu_t *);
extern void menu_reset_all(menulist_t *);
extern void menu_reset_tree(menu_t *);
extern void menu_reset_submenus(menu_t *);
-extern void menuitem_select(menu_t *, menuitem_t *);
-extern void menuitem_deselect(menu_t *, menuitem_t *);
+extern void menuitem_select(menu_t *);
+extern void menuitem_deselect(menu_t *);
extern void menu_display_submenu(menu_t *, menuitem_t *);
extern void menu_draw(menu_t *);
extern void menu_display(int, int, menu_t *);