From dd9c9a0fb3778f0d3cfbd65674d2a2f0f22f38aa Mon Sep 17 00:00:00 2001 From: "therealmogminer@gmail.com" Date: Sun, 10 Apr 2016 19:22:13 +0200 Subject: Make OSDs return ui_menu_item lists, not slider_state lists --- src/emu/ui/ui.cpp | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'src/emu/ui/ui.cpp') diff --git a/src/emu/ui/ui.cpp b/src/emu/ui/ui.cpp index 2645e6c1b6f..b8ad5ee7f9c 100644 --- a/src/emu/ui/ui.cpp +++ b/src/emu/ui/ui.cpp @@ -118,7 +118,7 @@ std::string ui_manager::messagebox_poptext; rgb_t ui_manager::messagebox_backcolor; // slider info -std::vector ui_manager::slider_list; +std::vector ui_manager::slider_list; slider_state *ui_manager::slider_current; @@ -340,7 +340,7 @@ void ui_manager::initialize(running_machine &machine) slider_list = slider_init(machine); if (slider_list.size() > 0) { - slider_current = slider_list[0]; + slider_current = reinterpret_cast(slider_list[0].ref); } else { @@ -1873,7 +1873,7 @@ UINT32 ui_manager::handler_confirm_quit(running_machine &machine, render_contain // ui_get_slider_list - get the list of sliders //------------------------------------------------- -std::vector& ui_manager::get_slider_list(void) +std::vector& ui_manager::get_slider_list(void) { return slider_list; } @@ -1906,7 +1906,7 @@ static slider_state *slider_alloc(running_machine &machine, const char *title, I // controls //---------------------------------------------------------- -std::vector ui_manager::slider_init(running_machine &machine) +std::vector ui_manager::slider_init(running_machine &machine) { std::vector sliders; @@ -2040,7 +2040,19 @@ std::vector ui_manager::slider_init(running_machine &machine) } #endif - return sliders; + std::vector items; + for (slider_state *slider : sliders) + { + ui_menu_item item; + item.text = slider->description; + item.subtext = ""; + item.flags = 0; + item.ref = slider; + item.type = ui_menu_item_type::UI_MENU_ITEM_TYPE_SLIDER; + items.push_back(item); + } + + return items; } -- cgit v1.2.3-70-g09d2