summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/osdwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/osd/modules/osdwindow.cpp')
-rw-r--r--src/osd/modules/osdwindow.cpp19
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)