diff options
Diffstat (limited to 'src/emu/rendlay.h')
| -rw-r--r-- | src/emu/rendlay.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/emu/rendlay.h b/src/emu/rendlay.h index fb7871bd0ef..c364a0921fa 100644 --- a/src/emu/rendlay.h +++ b/src/emu/rendlay.h @@ -288,8 +288,8 @@ public: render_container *screen_container() const { return m_screen ? &m_screen->container() : nullptr; } // interactivity - bool has_input() const { return bool(m_input_port); } - std::pair<ioport_port *, ioport_value> input_tag_and_mask() const { return std::make_pair(m_input_port, m_input_mask); }; + bool has_input() const { return bool(m_input_port) || (bounds_animated() && bool(m_animinput_port)); } + std::pair<ioport_port *, ioport_value> input_tag_and_mask() const { return m_animinput_port ? std::make_pair(m_animinput_port, m_animmask) : std::make_pair(m_input_port, m_input_mask); }; bool clickthrough() const { return m_clickthrough; } // fetch state based on configured source @@ -308,6 +308,9 @@ public: // resolve tags, if any void resolve_tags(); + // return the best state relative to a point at the given position + ioport_value state_from_position(float x, float y); + private: using bounds_vector = emu::render::detail::bounds_vector; using color_vector = emu::render::detail::color_vector; |
