summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Nathan Woods <npwoods@mess.org>2008-07-15 11:04:30 +0000
committer Nathan Woods <npwoods@mess.org>2008-07-15 11:04:30 +0000
commitefcaebaea269e641cc314241e8cffa58158216e8 (patch)
tree2f451f15355a3bcda2cfda84ea32a399a2ae8fcd /src
parentf9f57af7a182c47382d82e32e99e2cbc7e58faa1 (diff)
Changed ui_menu_get_selection() and ui_menu_set_selection() to use itemrefs
instead of indexes as per Aaron's guidance.
Diffstat (limited to 'src')
-rw-r--r--src/emu/uimenu.c19
-rw-r--r--src/emu/uimenu.h4
2 files changed, 17 insertions, 6 deletions
diff --git a/src/emu/uimenu.c b/src/emu/uimenu.c
index 31ddcb3d79b..f21f40b0b65 100644
--- a/src/emu/uimenu.c
+++ b/src/emu/uimenu.c
@@ -3131,9 +3131,11 @@ static void menu_render_triangle(bitmap_t *dest, const bitmap_t *source, const r
of the currently selected menu item
-------------------------------------------------*/
-int ui_menu_get_selection(ui_menu *menu)
+void *ui_menu_get_selection(ui_menu *menu)
{
- return menu->selected;
+ return (menu->selected >= 0) && (menu->selected < menu->numitems)
+ ? menu->item[menu->selected].ref
+ : NULL;
}
@@ -3143,7 +3145,16 @@ int ui_menu_get_selection(ui_menu *menu)
of the currently selected menu item
-------------------------------------------------*/
-void ui_menu_set_selection(ui_menu *menu, int selected)
+void ui_menu_set_selection(ui_menu *menu, void *selected_itemref)
{
- menu->selected = selected;
+ int i;
+ for (i = 0; i < menu->numitems; i++)
+ {
+ if (menu->item[i].ref == selected_itemref)
+ {
+ menu->selected = i;
+ return;
+ }
+ }
+ menu->selected = -1;
}
diff --git a/src/emu/uimenu.h b/src/emu/uimenu.h
index 87036025dfb..cc60d7b7880 100644
--- a/src/emu/uimenu.h
+++ b/src/emu/uimenu.h
@@ -143,10 +143,10 @@ int ui_menu_is_force_game_select(void);
/* ----- accessors ----- */
/* retrieves the index of the currently selected menu item */
-int ui_menu_get_selection(ui_menu *menu);
+void *ui_menu_get_selection(ui_menu *menu);
/* changes the index of the currently selected menu item */
-void ui_menu_set_selection(ui_menu *menu, int selected);
+void ui_menu_set_selection(ui_menu *menu, void *selected_itemref);