summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/screen.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/screen.h')
-rw-r--r--src/emu/screen.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/emu/screen.h b/src/emu/screen.h
index 2bfbc8af963..508c0756e37 100644
--- a/src/emu/screen.h
+++ b/src/emu/screen.h
@@ -219,7 +219,7 @@ public:
m_screen_update_rgb32 = callback;
}
template<class Object> devcb_base &set_screen_vblank(Object &&object) { return m_screen_vblank.set_callback(std::forward<Object>(object)); }
- void set_palette(const char *tag) { m_palette_tag = tag; }
+ template<typename T> void set_palette(T &&tag) { m_palette.set_tag(std::forward<T>(tag)); }
void set_video_attributes(u32 flags) { m_video_attributes = flags; }
void set_color(rgb_t color) { m_color = color; }
void set_svg_region(const char *region) { m_svg_region = region; }
@@ -309,8 +309,7 @@ private:
screen_update_ind16_delegate m_screen_update_ind16; // screen update callback (16-bit palette)
screen_update_rgb32_delegate m_screen_update_rgb32; // screen update callback (32-bit RGB)
devcb_write_line m_screen_vblank; // screen vblank line callback
- device_palette_interface *m_palette; // our palette
- const char * m_palette_tag; // configured tag for palette device
+ optional_device<palette_device> m_palette; // our palette
u32 m_video_attributes; // flags describing the video system
const char * m_svg_region; // the region in which the svg data is in
@@ -515,7 +514,7 @@ typedef device_type_iterator<screen_device> screen_device_iterator;
#define MCFG_SCREEN_PALETTE(_palette_tag) \
downcast<screen_device &>(*device).set_palette(_palette_tag);
#define MCFG_SCREEN_NO_PALETTE \
- downcast<screen_device &>(*device).set_palette(nullptr);
+ downcast<screen_device &>(*device).set_palette(finder_base::DUMMY_TAG);
#define MCFG_SCREEN_VIDEO_ATTRIBUTES(_flags) \
downcast<screen_device &>(*device).set_video_attributes(_flags);
#define MCFG_SCREEN_COLOR(_color) \