summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/luaengine.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/luaengine.h')
-rw-r--r--src/emu/luaengine.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/emu/luaengine.h b/src/emu/luaengine.h
index b98b9597b56..1ed1c82df36 100644
--- a/src/emu/luaengine.h
+++ b/src/emu/luaengine.h
@@ -49,9 +49,19 @@ public:
bool frame_hook();
void execute_function(const char *id);
+ struct menu_item {
+ std::string text;
+ std::string subtext;
+ int flags;
+ };
+ std::vector<menu_item> &menu_populate(std::string &menu);
+ bool menu_callback(std::string &menu, int index, std::string event);
+
void resume(lua_State *L, int nparam = 0, lua_State *root = nullptr);
void set_machine(running_machine *machine) { m_machine = machine; update_machine(); }
+ std::vector<std::string> &get_menu() { return m_menu; }
void attach_notifiers();
+
private:
struct hook {
lua_State *L;
@@ -70,6 +80,8 @@ private:
lua_State *m_lua_state;
running_machine * m_machine;
+ std::vector<std::string> m_menu;
+
hook hook_output_cb;
bool output_notifier_set;
@@ -121,6 +133,7 @@ private:
static int l_emu_register_pause(lua_State *L);
static int l_emu_register_resume(lua_State *L);
static int l_emu_register_frame(lua_State *L);
+ static int l_emu_register_menu(lua_State *L);
static int register_function(lua_State *L, const char *id);
// "emu.machine" namespace