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.h27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/emu/screen.h b/src/emu/screen.h
index 32702e26938..acd106f3c4e 100644
--- a/src/emu/screen.h
+++ b/src/emu/screen.h
@@ -177,18 +177,6 @@ public:
{
set_type(type);
}
- screen_device(const machine_config &mconfig, const char *tag, device_t *owner, screen_type_enum type, rgb_t color)
- : screen_device(mconfig, tag, owner, u32(0))
- {
- set_type(type);
- set_color(color);
- }
- screen_device(const machine_config &mconfig, const char *tag, device_t *owner, const char *region)
- : screen_device(mconfig, tag, owner, u32(0))
- {
- set_type(SCREEN_TYPE_SVG);
- set_svg_region(region);
- }
~screen_device();
// configuration readers
@@ -229,7 +217,6 @@ public:
void set_vblank_time(attoseconds_t time) { m_vblank = time; m_oldstyle_vblank_supplied = true; }
void set_size(u16 width, u16 height) { m_width = width; m_height = height; }
void set_visarea(s16 minx, s16 maxx, s16 miny, s16 maxy) { m_visarea.set(minx, maxx, miny, maxy); }
- void set_visarea_full() { m_visarea.set(0, m_width - 1, 0, m_height - 1); } // call after set_size
void set_default_position(double xscale, double xoffs, double yscale, double yoffs) {
m_xscale = xscale;
m_xoffset = xoffs;
@@ -533,12 +520,22 @@ typedef device_type_iterator<screen_device> screen_device_iterator;
#define MCFG_SCREEN_ADD(_tag, _type) \
MCFG_DEVICE_ADD(_tag, SCREEN, SCREEN_TYPE_##_type)
+#define MCFG_SCREEN_ADD_MONOCHROME(_tag, _type, _color) \
+ MCFG_DEVICE_ADD(_tag, SCREEN, 0) \
+ MCFG_SCREEN_TYPE(_type) \
+ MCFG_SCREEN_COLOR(_color)
+
#define MCFG_SCREEN_MODIFY(_tag) \
MCFG_DEVICE_MODIFY(_tag)
#define MCFG_SCREEN_TYPE(_type) \
downcast<screen_device &>(*device).set_type(SCREEN_TYPE_##_type);
+#define MCFG_SCREEN_SVG_ADD(_tag, _region) \
+ MCFG_DEVICE_ADD(_tag, SCREEN, 0) \
+ MCFG_SCREEN_TYPE(SVG) \
+ downcast<screen_device &>(*device).set_svg_region(_region);
+
#define MCFG_SCREEN_RAW_PARAMS(_pixclock, _htotal, _hbend, _hbstart, _vtotal, _vbend, _vbstart) \
downcast<screen_device &>(*device).set_raw(_pixclock, _htotal, _hbend, _hbstart, _vtotal, _vbend, _vbstart);
@@ -553,6 +550,8 @@ typedef device_type_iterator<screen_device> screen_device_iterator;
#define MCFG_SCREEN_VISIBLE_AREA(_minx, _maxx, _miny, _maxy) \
downcast<screen_device &>(*device).set_visarea(_minx, _maxx, _miny, _maxy);
+#define MCFG_SCREEN_DEFAULT_POSITION(_xscale, _xoffs, _yscale, _yoffs) \
+ downcast<screen_device &>(*device).set_default_position(_xscale, _xoffs, _yscale, _yoffs);
#define MCFG_SCREEN_UPDATE_DRIVER(_class, _method) \
downcast<screen_device &>(*device).set_screen_update(&_class::_method, #_class "::" #_method);
#define MCFG_SCREEN_UPDATE_DEVICE(_device, _class, _method) \
@@ -565,5 +564,7 @@ typedef device_type_iterator<screen_device> screen_device_iterator;
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) \
+ downcast<screen_device &>(*device).set_color(_color);
#endif // MAME_EMU_SCREEN_H