[PATCH] mciavi32: Add Support for MCI_MCIAVI_PLAY_FULLSCREEN
Vijay Kiran Kamuju
infyquest at gmail.com
Wed Apr 17 03:55:52 CDT 2019
From: Bruno Jesus <bjesus at codeweavers.com>
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=15934
Signed-off-by: Vijay Kiran Kamuju <infyquest at gmail.com>
From: Bruno Jesus <bjesus at codeweavers.com>
---
dlls/mciavi32/mciavi.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/dlls/mciavi32/mciavi.c b/dlls/mciavi32/mciavi.c
index b32accb6455..9aa6cd81a05 100644
--- a/dlls/mciavi32/mciavi.c
+++ b/dlls/mciavi32/mciavi.c
@@ -556,7 +556,7 @@ static DWORD MCIAVI_mciPlay(UINT wDevID, DWORD dwFlags, LPMCI_PLAY_PARMS lpParms
if (dwFlags & MCI_DGV_PLAY_REVERSE) return MCIERR_UNSUPPORTED_FUNCTION;
if (dwFlags & MCI_TEST) return 0;
- if (dwFlags & (MCI_MCIAVI_PLAY_WINDOW|MCI_MCIAVI_PLAY_FULLSCREEN|MCI_MCIAVI_PLAY_FULLBY2))
+ if (dwFlags & (MCI_MCIAVI_PLAY_WINDOW|MCI_MCIAVI_PLAY_FULLBY2))
FIXME("Unsupported flag %08x\n", dwFlags);
EnterCriticalSection(&wma->cs);
@@ -591,7 +591,18 @@ static DWORD MCIAVI_mciPlay(UINT wDevID, DWORD dwFlags, LPMCI_PLAY_PARMS lpParms
LeaveCriticalSection(&wma->cs);
- if (!(GetWindowLongW(wma->hWndPaint, GWL_STYLE) & WS_VISIBLE))
+ if (dwFlags & MCI_MCIAVI_PLAY_FULLSCREEN)
+ {
+ HMONITOR mon = MonitorFromWindow(wma->hWndPaint, MONITOR_DEFAULTTONEAREST);
+ MONITORINFO mi;
+ mi.cbSize = sizeof(mi);
+ GetMonitorInfoA(mon, &mi);
+ wma->hWndPaint = CreateWindowA("STATIC", NULL, WS_POPUP | WS_VISIBLE, mi.rcMonitor.left,
+ mi.rcMonitor.top, mi.rcMonitor.right - mi.rcMonitor.left, mi.rcMonitor.bottom - mi.rcMonitor.top,
+ NULL, NULL, NULL, 0);
+ }
+ /* if not fullscreen ensure the window is visible */
+ else if (!(GetWindowLongW(wma->hWndPaint, GWL_STYLE) & WS_VISIBLE))
ShowWindow(wma->hWndPaint, SW_SHOWNA);
EnterCriticalSection(&wma->cs);
--
2.17.0
More information about the wine-devel
mailing list