summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/video/gba_lcd.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/video/gba_lcd.h')
-rw-r--r--src/devices/video/gba_lcd.h39
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