diff options
Diffstat (limited to 'src/devices/video/scn2674.h')
-rw-r--r-- | src/devices/video/scn2674.h | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/src/devices/video/scn2674.h b/src/devices/video/scn2674.h index 2b7367eeed0..f3bd19b406a 100644 --- a/src/devices/video/scn2674.h +++ b/src/devices/video/scn2674.h @@ -16,8 +16,6 @@ class scn2674_device : public device_t, public device_memory_interface { public: - scn2674_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - typedef device_delegate<void (bitmap_rgb32 &bitmap, int x, int y, uint8_t linecount, uint8_t charcode, uint8_t attrcode, uint16_t address, bool cursor, bool dw, bool lg, bool ul, bool blink)> draw_character_delegate; // static configuration @@ -28,20 +26,9 @@ public: auto mbc_attr_callback() { return m_mbc_attr_cb.bind(); } void set_character_width(int value) { m_hpixels_per_column = value; } - template <class FunctionClass> - void set_display_callback(void (FunctionClass::*callback)(bitmap_rgb32 &, int, int, uint8_t, uint8_t, uint8_t, uint16_t, bool, bool, bool, bool, bool), const char *name) - { - set_display_callback(draw_character_delegate(callback, name, nullptr, static_cast<FunctionClass *>(nullptr))); - } - template <class FunctionClass> - void set_display_callback(const char *devname, void (FunctionClass::*callback)(bitmap_rgb32 &, int, int, uint8_t, uint8_t, uint8_t, uint16_t, bool, bool, bool, bool, bool), const char *name) - { - set_display_callback(draw_character_delegate(callback, name, devname, static_cast<FunctionClass *>(nullptr))); - } - void set_display_callback(draw_character_delegate callback) - { - m_display_cb = callback; - } + template <typename... T> void set_display_callback(T &&... args) { m_display_cb.set(std::forward<T>(args)...); } + + scn2674_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); uint8_t read(offs_t offset); void write(offs_t offset, uint8_t data); |