Răsfoiți Sursa

Win32: Make monitor area retrieval more consistent

The rest of this file uses GetMonitorInfoW to retrieve this information.
Camilla Löwy 3 ani în urmă
părinte
comite
7dfd84c458
1 a modificat fișierele cu 6 adăugiri și 5 ștergeri
  1. 6 5
      src/win32_window.c

+ 6 - 5
src/win32_window.c

@@ -1284,15 +1284,16 @@ static int createNativeWindow(_GLFWwindow* window,
 
     if (window->monitor)
     {
-        GLFWvidmode mode;
+        MONITORINFO mi = { sizeof(mi) };
+        GetMonitorInfoW(window->monitor->win32.handle, &mi);
 
         // NOTE: This window placement is temporary and approximate, as the
         //       correct position and size cannot be known until the monitor
         //       video mode has been picked in _glfwSetVideoModeWin32
-        _glfwGetMonitorPosWin32(window->monitor, &xpos, &ypos);
-        _glfwGetVideoModeWin32(window->monitor, &mode);
-        fullWidth  = mode.width;
-        fullHeight = mode.height;
+        xpos = mi.rcMonitor.left;
+        ypos = mi.rcMonitor.top;
+        fullWidth  = mi.rcMonitor.right - mi.rcMonitor.left;
+        fullHeight = mi.rcMonitor.bottom - mi.rcMonitor.top;
     }
     else
     {