diff options
Diffstat (limited to 'src/osd/modules/osdwindow.cpp')
-rw-r--r-- | src/osd/modules/osdwindow.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/osd/modules/osdwindow.cpp b/src/osd/modules/osdwindow.cpp index 797148382bf..bc20676cbad 100644 --- a/src/osd/modules/osdwindow.cpp +++ b/src/osd/modules/osdwindow.cpp @@ -8,6 +8,8 @@ #include "emu.h" #include "osdwindow.h" +#include "modules/lib/osdobj_common.h" +#include "modules/monitor/monitor_module.h" #include "render/drawnone.h" #include "render/drawbgfx.h" @@ -57,6 +59,23 @@ float osd_window::pixel_aspect() const return monitor()->pixel_aspect(); } +bool osd_window::swap_xy() const +{ + bool orientation_swap_xy = + (machine().system().flags & ORIENTATION_SWAP_XY) == ORIENTATION_SWAP_XY; + bool rotation_swap_xy = + (target()->orientation() & ORIENTATION_SWAP_XY) == ORIENTATION_SWAP_XY; + return orientation_swap_xy ^ rotation_swap_xy; +}; + +bool osd_window::keepaspect() const +{ + if (m_target != nullptr) + return m_target->keepaspect(); + else + return false; +} + std::unique_ptr<osd_renderer> osd_renderer::make_for_type(int mode, std::shared_ptr<osd_window> window, int extra_flags) { switch(mode) |