diff options
Diffstat (limited to 'src/devices/video/hd63484.h')
-rw-r--r-- | src/devices/video/hd63484.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/devices/video/hd63484.h b/src/devices/video/hd63484.h index 7188f4ae1f8..885761d211b 100644 --- a/src/devices/video/hd63484.h +++ b/src/devices/video/hd63484.h @@ -26,15 +26,15 @@ MCFG_DEVICE_ADDRESS_MAP(0, _map) #define MCFG_HD63484_DISPLAY_CALLBACK_OWNER(_class, _method) \ - hd63484_device::static_set_display_callback(*device, hd63484_device::display_delegate(&_class::_method, #_class "::" #_method, this)); + downcast<hd63484_device &>(*device).set_display_callback(hd63484_device::display_delegate(&_class::_method, #_class "::" #_method, this)); #define MCFG_HD63484_AUTO_CONFIGURE_SCREEN(_val) \ - hd63484_device::static_set_auto_configure_screen(*device, _val); + downcast<hd63484_device &>(*device).set_auto_configure_screen(_val); #define HD63484_DISPLAY_PIXELS_MEMBER(_name) void _name(bitmap_ind16 &bitmap, const rectangle &cliprect, int y, int x, uint16_t data) #define MCFG_HD63484_EXTERNAL_SKEW(_val) \ - hd63484_device::static_set_external_skew(*device, _val); + downcast<hd63484_device &>(*device).set_external_skew(_val); // ======================> hd63484_device @@ -49,9 +49,9 @@ public: // construction/destruction hd63484_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - static void static_set_display_callback(device_t &device, display_delegate &&cb) { downcast<hd63484_device &>(device).m_display_cb = std::move(cb); } - static void static_set_auto_configure_screen(device_t &device, bool auto_configure_screen) { downcast<hd63484_device &>(device).m_auto_configure_screen = auto_configure_screen; } - static void static_set_external_skew(device_t &device, int skew) { downcast<hd63484_device &>(device).m_external_skew = skew; } + template <typename Object> void set_display_callback(Object &&cb) { m_display_cb = std::forward<Object>(cb); } + void set_auto_configure_screen(bool auto_configure_screen) { m_auto_configure_screen = auto_configure_screen; } + void set_external_skew(int skew) { m_external_skew = skew; } DECLARE_WRITE16_MEMBER( address16_w ); DECLARE_WRITE16_MEMBER( data16_w ); |