diff options
Diffstat (limited to 'src/devices/video/i8275.h')
-rw-r--r-- | src/devices/video/i8275.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/devices/video/i8275.h b/src/devices/video/i8275.h index 94848607ce8..44bede3ace4 100644 --- a/src/devices/video/i8275.h +++ b/src/devices/video/i8275.h @@ -82,6 +82,19 @@ public: void set_character_width(int value) { m_hpixels_per_column = value; } template <typename... T> void set_display_callback(T &&... args) { m_display_cb = draw_character_delegate(std::forward<T>(args)...); } + void set_display_callback(draw_character_delegate callback) { m_display_cb = callback; } + template <class FunctionClass> void set_display_callback(const char *devname, + void (FunctionClass::*callback)(bitmap_rgb32 &, int, int, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t), + const char *name) + { + set_display_callback(draw_character_delegate(callback, name, devname, static_cast<FunctionClass *>(nullptr))); + } + template <class FunctionClass> void set_display_callback( + void (FunctionClass::*callback)(bitmap_rgb32 &, int, int, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t), + const char *name) + { + set_display_callback(draw_character_delegate(callback, name, nullptr, static_cast<FunctionClass *>(nullptr))); + } template <class Object> devcb_base &set_drq_wr_callback(Object &&cb) { return m_write_drq.set_callback(std::forward<Object>(cb)); } template <class Object> devcb_base &set_irq_wr_callback(Object &&cb) { return m_write_irq.set_callback(std::forward<Object>(cb)); } |