summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/monitor/monitor_dxgi.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/osd/modules/monitor/monitor_dxgi.cpp')
-rw-r--r--src/osd/modules/monitor/monitor_dxgi.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/osd/modules/monitor/monitor_dxgi.cpp b/src/osd/modules/monitor/monitor_dxgi.cpp
index d506a00e95a..9fbc32a25bc 100644
--- a/src/osd/modules/monitor/monitor_dxgi.cpp
+++ b/src/osd/modules/monitor/monitor_dxgi.cpp
@@ -8,7 +8,7 @@
#include "modules/osdmodule.h"
#include "monitor_module.h"
-#if defined(OSD_WINDOWS)
+#if defined(OSD_WINDOWS) || defined(OSD_UWP)
// standard windows headers
#define WIN32_LEAN_AND_MEAN
@@ -86,6 +86,7 @@ public:
if (!m_initialized)
return nullptr;
+#if defined(OSD_WINDOWS)
RECT p;
p.top = rect.top();
p.left = rect.left();
@@ -95,6 +96,13 @@ public:
auto nearest = monitor_from_handle(reinterpret_cast<std::uintptr_t>(MonitorFromRect(&p, MONITOR_DEFAULTTONEAREST)));
assert(nearest != nullptr);
return nearest;
+#elif defined(OSD_UWP)
+ if (list().size() == 0)
+ return nullptr;
+
+ // For now just return first monitor
+ return list()[0];
+#endif
}
// Currently this method implementation is duplicated from the win32 module
@@ -104,9 +112,17 @@ public:
if (!m_initialized)
return nullptr;
+#if defined(OSD_WINDOWS)
auto nearest = monitor_from_handle(reinterpret_cast<std::uintptr_t>(MonitorFromWindow(window.platform_window<HWND>(), MONITOR_DEFAULTTONEAREST)));
assert(nearest != nullptr);
return nearest;
+#elif defined(OSD_UWP)
+ if (list().size() == 0)
+ return nullptr;
+
+ // For now just return first monitor
+ return list()[0];
+#endif
}
protected: