diff options
| author | 2008-07-15 11:04:30 +0000 | |
|---|---|---|
| committer | 2008-07-15 11:04:30 +0000 | |
| commit | efcaebaea269e641cc314241e8cffa58158216e8 (patch) | |
| tree | 2f451f15355a3bcda2cfda84ea32a399a2ae8fcd /src | |
| parent | f9f57af7a182c47382d82e32e99e2cbc7e58faa1 (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.c | 19 | ||||
| -rw-r--r-- | src/emu/uimenu.h | 4 |
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); |
