diff options
Diffstat (limited to 'src/osd/modules/monitor/monitor_dxgi.cpp')
-rw-r--r-- | src/osd/modules/monitor/monitor_dxgi.cpp | 18 |
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: |