From b27c02bb5b6632342e394d22c69b8d549f9dae34 Mon Sep 17 00:00:00 2001 From: Geoffroy Couprie Date: Sat, 3 Jan 2009 01:30:06 +0100 Subject: [PATCH] Win32: go fullscreen on the same screen as the vout window --- modules/video_output/msw/events.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/modules/video_output/msw/events.c b/modules/video_output/msw/events.c index 83593f0b82..b0ec026f4a 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 ); -- 2.39.2