summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/emupal.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/emupal.h')
-rw-r--r--src/emu/emupal.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/emu/emupal.h b/src/emu/emupal.h
index 4169dabe858..a9ccdc99565 100644
--- a/src/emu/emupal.h
+++ b/src/emu/emupal.h
@@ -365,6 +365,16 @@ public:
// configuration
template <typename Object> void set_init(Object &&init) { m_init = std::forward<Object>(init); }
+ void set_init(palette_init_delegate callback) { m_init = callback; }
+ template <class FunctionClass> void set_init(const char *devname, void (FunctionClass::*callback)(palette_device &), const char *name)
+ {
+ set_init(palette_init_delegate(callback, name, devname, static_cast<FunctionClass *>(nullptr)));
+ }
+ template <class FunctionClass> void set_init(void (FunctionClass::*callback)(palette_device &), const char *name)
+ {
+ set_init(palette_init_delegate(callback, name, nullptr, static_cast<FunctionClass *>(nullptr)));
+ }
+
void set_format(raw_to_rgb_converter raw_to_rgb) { m_raw_to_rgb = raw_to_rgb; }
void set_membits(int membits) { m_membits = membits; m_membits_supplied = true; }
void set_endianness(endianness_t endianness) { m_endianness = endianness; m_endianness_supplied = true; }