summaryrefslogtreecommitdiffstatshomepage
path: root/src/frontend
diff options
context:
space:
mode:
author npwoods <npwoods@mess.org>2022-04-07 08:07:18 -0400
committer GitHub <noreply@github.com>2022-04-07 14:07:18 +0200
commited94ca118117e1a84671c6b9973351f62f937308 (patch)
tree4ec188c64c7937f2a07998d66b3582d14083920b /src/frontend
parent3c76a688d313f00ff4fd4a5bcb5158d2040f21f1 (diff)
Added an 'image_display_enabled' property to mame_ui_manager and exposed it to LUA. This property allows one to disable image-specific UI displays (#9377)
Diffstat (limited to 'src/frontend')
-rw-r--r--src/frontend/mame/luaengine.cpp1
-rw-r--r--src/frontend/mame/ui/ui.cpp3
-rw-r--r--src/frontend/mame/ui/ui.h3
3 files changed, 6 insertions, 1 deletions
diff --git a/src/frontend/mame/luaengine.cpp b/src/frontend/mame/luaengine.cpp
index db35b227faa..43fb1c3812e 100644
--- a/src/frontend/mame/luaengine.cpp
+++ b/src/frontend/mame/luaengine.cpp
@@ -1797,6 +1797,7 @@ void lua_engine::initialize()
ui_type["single_step"] = sol::property(&mame_ui_manager::single_step, &mame_ui_manager::set_single_step);
ui_type["show_fps"] = sol::property(&mame_ui_manager::show_fps, &mame_ui_manager::set_show_fps);
ui_type["show_profiler"] = sol::property(&mame_ui_manager::show_profiler, &mame_ui_manager::set_show_profiler);
+ ui_type["image_display_enabled"] = sol::property(&mame_ui_manager::image_display_enabled, &mame_ui_manager::set_image_display_enabled);
/* device_state_entry library
diff --git a/src/frontend/mame/ui/ui.cpp b/src/frontend/mame/ui/ui.cpp
index 8813251976c..6c2f0d35286 100644
--- a/src/frontend/mame/ui/ui.cpp
+++ b/src/frontend/mame/ui/ui.cpp
@@ -183,6 +183,7 @@ mame_ui_manager::mame_ui_manager(running_machine &machine)
, m_target_font_height(0)
, m_has_warnings(false)
, m_unthrottle_mute(false)
+ , m_image_display_enabled(true)
, m_machine_info()
, m_unemulated_features()
, m_imperfect_features()
@@ -1182,7 +1183,7 @@ void mame_ui_manager::start_load_state()
void mame_ui_manager::image_handler_ingame()
{
// run display routine for devices
- if (machine().phase() == machine_phase::RUNNING)
+ if (m_image_display_enabled && machine().phase() == machine_phase::RUNNING)
{
auto layout = create_layout(machine().render().ui_container());
diff --git a/src/frontend/mame/ui/ui.h b/src/frontend/mame/ui/ui.h
index e155a261871..464f710dbea 100644
--- a/src/frontend/mame/ui/ui.h
+++ b/src/frontend/mame/ui/ui.h
@@ -202,6 +202,8 @@ public:
// other
void process_natural_keyboard();
ui::text_layout create_layout(render_container &container, float width = 1.0, ui::text_layout::text_justify justify = ui::text_layout::text_justify::LEFT, ui::text_layout::word_wrapping wrap = ui::text_layout::word_wrapping::WORD);
+ void set_image_display_enabled(bool image_display_enabled) { m_image_display_enabled = image_display_enabled; }
+ bool image_display_enabled() const { return m_image_display_enabled; }
// draw an outlined box with given line color and filled with a texture
void draw_textured_box(render_container &container, float x0, float y0, float x1, float y1, rgb_t backcolor, rgb_t linecolor, render_texture *texture = nullptr, uint32_t flags = PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
@@ -248,6 +250,7 @@ private:
float m_target_font_height;
bool m_has_warnings;
bool m_unthrottle_mute;
+ bool m_image_display_enabled;
std::unique_ptr<ui::machine_info> m_machine_info;
device_feature_set m_unemulated_features;