summaryrefslogtreecommitdiffstatshomepage
path: root/src/frontend/mame/ui/miscmenu.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/mame/ui/miscmenu.h')
-rw-r--r--src/frontend/mame/ui/miscmenu.h154
1 files changed, 154 insertions, 0 deletions
diff --git a/src/frontend/mame/ui/miscmenu.h b/src/frontend/mame/ui/miscmenu.h
new file mode 100644
index 00000000000..18f22c49d54
--- /dev/null
+++ b/src/frontend/mame/ui/miscmenu.h
@@ -0,0 +1,154 @@
+// license:BSD-3-Clause
+// copyright-holders:Nicola Salmoria, Aaron Giles, Nathan Woods, Maurizio Petrarota
+/***************************************************************************
+
+ ui/miscmenu.h
+
+ Internal MAME menus for the user interface.
+
+***************************************************************************/
+
+#pragma once
+
+#ifndef __UI_MISCMENU_H__
+#define __UI_MISCMENU_H__
+
+#include "crsshair.h"
+#include "emuopts.h"
+
+using s_bios = std::vector<std::pair<std::string, int>>;
+
+class ui_menu_keyboard_mode : public ui_menu {
+public:
+ ui_menu_keyboard_mode(running_machine &machine, render_container *container);
+ virtual ~ui_menu_keyboard_mode();
+ virtual void populate() override;
+ virtual void handle() override;
+};
+
+class ui_menu_network_devices : public ui_menu {
+public:
+ ui_menu_network_devices(running_machine &machine, render_container *container);
+ virtual ~ui_menu_network_devices();
+ virtual void populate() override;
+ virtual void handle() override;
+};
+
+class ui_menu_bookkeeping : public ui_menu {
+public:
+ ui_menu_bookkeeping(running_machine &machine, render_container *container);
+ virtual ~ui_menu_bookkeeping();
+ virtual void populate() override;
+ virtual void handle() override;
+
+private:
+ attotime prevtime;
+};
+
+class ui_menu_crosshair : public ui_menu {
+public:
+ ui_menu_crosshair(running_machine &machine, render_container *container);
+ virtual ~ui_menu_crosshair();
+ virtual void populate() override;
+ virtual void handle() override;
+
+private:
+ enum {
+ CROSSHAIR_ITEM_VIS = 0,
+ CROSSHAIR_ITEM_PIC,
+ CROSSHAIR_ITEM_AUTO_TIME
+ };
+
+ /* internal crosshair menu item data */
+ struct crosshair_item_data {
+ UINT8 type;
+ UINT8 player;
+ UINT8 min, max;
+ UINT8 cur;
+ UINT8 defvalue;
+ char last_name[CROSSHAIR_PIC_NAME_LENGTH + 1];
+ char next_name[CROSSHAIR_PIC_NAME_LENGTH + 1];
+ };
+};
+
+class ui_menu_quit_game : public ui_menu {
+public:
+ ui_menu_quit_game(running_machine &machine, render_container *container);
+ virtual ~ui_menu_quit_game();
+ virtual void populate() override;
+ virtual void handle() override;
+};
+
+class ui_menu_bios_selection : public ui_menu {
+public:
+ ui_menu_bios_selection(running_machine &machine, render_container *container);
+ virtual ~ui_menu_bios_selection();
+ virtual void populate() override;
+ virtual void handle() override;
+};
+
+
+//-------------------------------------------------
+// export menu
+//-------------------------------------------------
+
+class ui_menu_export : public ui_menu
+{
+public:
+ ui_menu_export(running_machine &machine, render_container *container, std::vector<const game_driver*> list);
+ virtual ~ui_menu_export();
+ virtual void populate() override;
+ virtual void handle() override;
+
+private:
+ std::vector<const game_driver*> m_list;
+};
+
+//-------------------------------------------------
+// machine configure menu
+//-------------------------------------------------
+
+class ui_menu_machine_configure : public ui_menu
+{
+public:
+ ui_menu_machine_configure(running_machine &machine, render_container *container, const game_driver *prev, float x0 = 0.0f, float y0 = 0.0f);
+ virtual ~ui_menu_machine_configure();
+ virtual void populate() override;
+ virtual void handle() override;
+ virtual void custom_render(void *selectedref, float top, float bottom, float x, float y, float x2, float y2) override;
+
+private:
+ enum
+ {
+ ADDFAV = 1,
+ DELFAV,
+ SAVE,
+ CONTROLLER,
+ VIDEO,
+ BIOS,
+ ADVANCED,
+ LAST = ADVANCED
+ };
+ const game_driver *m_drv;
+ emu_options m_opts;
+ float x0, y0;
+ s_bios m_bios;
+ int m_curbios;
+ void setup_bios();
+};
+
+//-------------------------------------------------
+// plugins configure menu
+//-------------------------------------------------
+
+class ui_menu_plugins_configure : public ui_menu
+{
+public:
+ ui_menu_plugins_configure(running_machine &machine, render_container *container);
+ virtual ~ui_menu_plugins_configure();
+ virtual void populate() override;
+ virtual void handle() override;
+ virtual void custom_render(void *selectedref, float top, float bottom, float x, float y, float x2, float y2) override;
+};
+
+#endif /* __UI_MISCMENU_H__ */