[vlc-devel] commit: Win32: go fullscreen on the same screen as the vout window ( Geoffroy Couprie )

git version control git at videolan.org
Sat Jan 3 01:42:40 CET 2009


vlc | branch: master | Geoffroy Couprie <geo.couprie at gmail.com> | Sat Jan  3 01:30:06 2009 +0100| [b27c02bb5b6632342e394d22c69b8d549f9dae34] | committer: Geoffroy Couprie 

Win32: go fullscreen on the same screen as the vout window

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b27c02bb5b6632342e394d22c69b8d549f9dae34
---

 modules/video_output/msw/events.c |   20 ++++++++++++--------
 1 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/modules/video_output/msw/events.c b/modules/video_output/msw/events.c
index 83593f0..b0ec026 100644
--- a/modules/video_output/msw/events.c
+++ b/modules/video_output/msw/events.c
@@ -1197,14 +1197,17 @@ void Win32ToggleFullscreen( vout_thread_t *p_vout )
         if( p_vout->p_sys->hparent )
         {
             /* Retrieve current window position so fullscreen will happen
-            * on the right screen */
-            POINT point = {0,0};
-            RECT rect;
-            ClientToScreen( p_vout->p_sys->hwnd, &point );
-            GetClientRect( p_vout->p_sys->hwnd, &rect );
-            SetWindowPos( hwnd, 0, point.x, point.y,
-                          rect.right, rect.bottom,
-                          SWP_NOZORDER|SWP_FRAMECHANGED );
+            *on the right screen */
+            HMONITOR hmon = MonitorFromWindow(p_vout->p_sys->hparent,
+                                            MONITOR_DEFAULTTONEAREST);
+            MONITORINFO mi = {sizeof(mi)};
+            if (GetMonitorInfo(hmon, &mi))
+            SetWindowPos( hwnd, 0,
+                            mi.rcMonitor.left,
+                            mi.rcMonitor.top,
+                            mi.rcMonitor.right - mi.rcMonitor.left,
+                            mi.rcMonitor.bottom - mi.rcMonitor.top,
+                            SWP_NOZORDER|SWP_FRAMECHANGED );
         }
 
         /* Maximize window */
@@ -1212,6 +1215,7 @@ void Win32ToggleFullscreen( vout_thread_t *p_vout )
 
         if( p_vout->p_sys->hparent )
         {
+            /* Hide the previous window */
             RECT rect;
             GetClientRect( hwnd, &rect );
             SetParent( p_vout->p_sys->hwnd, hwnd );




More information about the vlc-devel mailing list