diff options
Diffstat (limited to 'src/emu/rendlay.cpp')
-rw-r--r-- | src/emu/rendlay.cpp | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/src/emu/rendlay.cpp b/src/emu/rendlay.cpp index de64a98bf30..4c76c72a0c1 100644 --- a/src/emu/rendlay.cpp +++ b/src/emu/rendlay.cpp @@ -1587,9 +1587,8 @@ protected: // overrides virtual void draw(running_machine &machine, bitmap_argb32 &dest, const rectangle &bounds, int state) override { - render_font *font = machine.render().font_alloc("default"); + auto font = machine.render().font_alloc("default"); draw_text(*font, dest, bounds, m_string.c_str(), m_textalign, color(state)); - machine.render().font_free(font); } private: @@ -2278,9 +2277,8 @@ protected: virtual void draw(running_machine &machine, bitmap_argb32 &dest, const rectangle &bounds, int state) override { - render_font *const font = machine.render().font_alloc("default"); + auto font = machine.render().font_alloc("default"); draw_text(*font, dest, bounds, string_format("%0*d", m_digits, state).c_str(), m_textalign, color(state)); - machine.render().font_free(font); } private: @@ -2375,7 +2373,7 @@ protected: u32 const a = c.a * 255.0f; // get the width of the string - render_font *font = machine.render().font_alloc("default"); + auto font = machine.render().font_alloc("default"); float aspect = 1.0f; s32 width; @@ -2517,7 +2515,6 @@ protected: } // free the temporary bitmap and font - machine.render().font_free(font); } private: @@ -2537,7 +2534,7 @@ private: u32 const a = c.a * 255.0f; // get the width of the string - render_font *font = machine.render().font_alloc("default"); + auto font = machine.render().font_alloc("default"); float aspect = 1.0f; s32 width; int currx = 0; @@ -2678,7 +2675,6 @@ private: } // free the temporary bitmap and font - machine.render().font_free(font); } void load_reel_bitmap(int number) @@ -3450,7 +3446,18 @@ layout_view::~layout_view() // the given screen //------------------------------------------------- -bool layout_view::has_screen(screen_device &screen) const +bool layout_view::has_screen(screen_device &screen) +{ + return std::find_if(m_items.begin(), m_items.end(), [&screen] (auto &itm) { return itm.screen() == &screen; }) != m_items.end(); +} + + +//------------------------------------------------- +// has_visible_screen - return true if this view +// has the given screen visble +//------------------------------------------------- + +bool layout_view::has_visible_screen(screen_device &screen) const { return std::find_if(m_screens.begin(), m_screens.end(), [&screen] (auto const &scr) { return &scr.get() == &screen; }) != m_screens.end(); } |