diff options
Diffstat (limited to 'src/frontend/mame/ui/optsmenu.h')
-rw-r--r-- | src/frontend/mame/ui/optsmenu.h | 53 |
1 files changed, 42 insertions, 11 deletions
diff --git a/src/frontend/mame/ui/optsmenu.h b/src/frontend/mame/ui/optsmenu.h index e9650e3a95b..2afe9b68a89 100644 --- a/src/frontend/mame/ui/optsmenu.h +++ b/src/frontend/mame/ui/optsmenu.h @@ -17,23 +17,27 @@ namespace ui { -class menu_game_options : public menu + +class menu_simple_game_options : public menu { public: - menu_game_options(mame_ui_manager &mui, render_container &container); - virtual ~menu_game_options() override; + menu_simple_game_options( + mame_ui_manager &mui, + render_container &container, + std::function<void ()> &&handler); + virtual ~menu_simple_game_options() override; protected: virtual void custom_render(void *selectedref, float top, float bottom, float x, float y, float x2, float y2) override; + virtual void handle() override; + virtual void populate(float &customtop, float &custombottom) override; + + void handle_item_event(event const &menu_event); private: enum { - FILTER_MENU = 1, - FILTER_ADJUST, - CONF_DIR, - DISPLAY_MENU, - CUSTOM_MENU, + DISPLAY_MENU = 1001, SOUND_MENU, CONTROLLER_MENU, MISC_MENU, @@ -43,12 +47,39 @@ private: SAVE_CONFIG }; - virtual void populate(float &customtop, float &custombottom) override; + std::function<void ()> const m_handler; +}; + + +class menu_game_options : public menu_simple_game_options +{ +public: + menu_game_options( + mame_ui_manager &mui, + render_container &container, + machine_filter_data &filter_data, + std::function<void ()> &&handler); + virtual ~menu_game_options() override; + +protected: virtual void handle() override; + virtual void populate(float &customtop, float &custombottom) override; + + void handle_item_event(event const &menu_event); + +private: + enum + { + FILTER_MENU = 2001, + FILTER_ADJUST, + CONF_DIR, + CUSTOM_MENU + }; - machine_filter::type m_main; + machine_filter_data &m_filter_data; + machine_filter::type m_main_filter; }; } // namespace ui -#endif /* MAME_FRONTEND_UI_OPTSMENU_H */ +#endif // MAME_FRONTEND_UI_OPTSMENU_H |