diff options
Diffstat (limited to 'src/devices/video/gba_lcd.h')
-rw-r--r-- | src/devices/video/gba_lcd.h | 39 |
1 files changed, 10 insertions, 29 deletions
diff --git a/src/devices/video/gba_lcd.h b/src/devices/video/gba_lcd.h index c1ae5c925ce..a8cc9cd3d73 100644 --- a/src/devices/video/gba_lcd.h +++ b/src/devices/video/gba_lcd.h @@ -33,19 +33,19 @@ DECLARE_DEVICE_TYPE(GBA_LCD, gba_lcd_device) MCFG_DEVICE_ADD(_tag, GBA_LCD, 0) #define MCFG_GBA_LCD_INT_HBLANK(_devcb) \ - devcb = &gba_lcd_device::set_int_hblank_callback(*device, DEVCB_##_devcb); + devcb = &downcast<gba_lcd_device &>(*device).set_int_hblank_callback(DEVCB_##_devcb); #define MCFG_GBA_LCD_INT_VBLANK(_devcb) \ - devcb = &gba_lcd_device::set_int_vblank_callback(*device, DEVCB_##_devcb); + devcb = &downcast<gba_lcd_device &>(*device).set_int_vblank_callback(DEVCB_##_devcb); #define MCFG_GBA_LCD_INT_VCOUNT(_devcb) \ - devcb = &gba_lcd_device::set_int_vcount_callback(*device, DEVCB_##_devcb); + devcb = &downcast<gba_lcd_device &>(*device).set_int_vcount_callback(DEVCB_##_devcb); #define MCFG_GBA_LCD_DMA_HBLANK(_devcb) \ - devcb = &gba_lcd_device::set_dma_hblank_callback(*device, DEVCB_##_devcb); + devcb = &downcast<gba_lcd_device &>(*device).set_dma_hblank_callback(DEVCB_##_devcb); #define MCFG_GBA_LCD_DMA_VBLANK(_devcb) \ - devcb = &gba_lcd_device::set_dma_vblank_callback(*device, DEVCB_##_devcb); + devcb = &downcast<gba_lcd_device &>(*device).set_dma_vblank_callback(DEVCB_##_devcb); //************************************************************************** @@ -99,30 +99,11 @@ public: TIMER_CALLBACK_MEMBER(perform_hbl); TIMER_CALLBACK_MEMBER(perform_scan); - template <class Object> static devcb_base &set_int_hblank_callback(device_t &device, Object &&cb) - { - return downcast<gba_lcd_device &>(device).m_int_hblank_cb.set_callback(std::forward<Object>(cb)); - } - - template <class Object> static devcb_base &set_int_vblank_callback(device_t &device, Object &&cb) - { - return downcast<gba_lcd_device &>(device).m_int_vblank_cb.set_callback(std::forward<Object>(cb)); - } - - template <class Object> static devcb_base &set_int_vcount_callback(device_t &device, Object &&cb) - { - return downcast<gba_lcd_device &>(device).m_int_vcount_cb.set_callback(std::forward<Object>(cb)); - } - - template <class Object> static devcb_base &set_dma_hblank_callback(device_t &device, Object &&cb) - { - return downcast<gba_lcd_device &>(device).m_dma_hblank_cb.set_callback(std::forward<Object>(cb)); - } - - template <class Object> static devcb_base &set_dma_vblank_callback(device_t &device, Object &&cb) - { - return downcast<gba_lcd_device &>(device).m_dma_vblank_cb.set_callback(std::forward<Object>(cb)); - } + template <class Object> devcb_base &set_int_hblank_callback(Object &&cb) { return m_int_hblank_cb.set_callback(std::forward<Object>(cb)); } + template <class Object> devcb_base &set_int_vblank_callback(Object &&cb) { return m_int_vblank_cb.set_callback(std::forward<Object>(cb)); } + template <class Object> devcb_base &set_int_vcount_callback(Object &&cb) { return m_int_vcount_cb.set_callback(std::forward<Object>(cb)); } + template <class Object> devcb_base &set_dma_hblank_callback(Object &&cb) { return m_dma_hblank_cb.set_callback(std::forward<Object>(cb)); } + template <class Object> devcb_base &set_dma_vblank_callback(Object &&cb) { return m_dma_vblank_cb.set_callback(std::forward<Object>(cb)); } protected: // device-level overrides |