Maarten Lankhorst : mciqtz32: Add support for mciWindow.
Alexandre Julliard
julliard at winehq.org
Fri Jul 30 10:24:14 CDT 2010
Module: wine
Branch: master
Commit: 1e5ce5309eb4295b6e39fce1184c81a3eb9991b7
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1e5ce5309eb4295b6e39fce1184c81a3eb9991b7
Author: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date: Fri May 21 12:17:58 2010 +0200
mciqtz32: Add support for mciWindow.
---
dlls/mciqtz32/mciqtz.c | 47 +++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 45 insertions(+), 2 deletions(-)
diff --git a/dlls/mciqtz32/mciqtz.c b/dlls/mciqtz32/mciqtz.c
index 6dabaa5..50faf13 100644
--- a/dlls/mciqtz32/mciqtz.c
+++ b/dlls/mciqtz32/mciqtz.c
@@ -734,6 +734,48 @@ out:
return ret;
}
+/***************************************************************************
+ * MCIQTZ_mciWindow [internal]
+ */
+static DWORD MCIQTZ_mciWindow(UINT wDevID, DWORD dwFlags, LPMCI_DGV_WINDOW_PARMSW lpParms)
+{
+ WINE_MCIQTZ *wma = MCIQTZ_mciGetOpenDev(wDevID);
+
+ TRACE("(%04x, %08X, %p)\n", wDevID, dwFlags, lpParms);
+
+ if (!lpParms)
+ return MCIERR_NULL_PARAMETER_BLOCK;
+ if (!wma)
+ return MCIERR_INVALID_DEVICE_ID;
+ if (dwFlags & MCI_TEST)
+ return 0;
+
+ if (dwFlags & MCI_DGV_WINDOW_HWND && (IsWindow(lpParms->hWnd) || !lpParms->hWnd)) {
+ LONG style = 0;
+ TRACE("Setting hWnd to %p\n", lpParms->hWnd);
+ IVideoWindow_put_Visible(wma->vidwin, OAFALSE);
+ IVideoWindow_get_WindowStyle(wma->vidwin, &style);
+ style &= ~WS_CHILD;
+ if (lpParms->hWnd)
+ IVideoWindow_put_WindowStyle(wma->vidwin, style|WS_CHILD);
+ else
+ IVideoWindow_put_WindowStyle(wma->vidwin, style);
+ IVideoWindow_put_Owner(wma->vidwin, (OAHWND)lpParms->hWnd);
+ IVideoWindow_put_MessageDrain(wma->vidwin, (OAHWND)lpParms->hWnd);
+ IVideoWindow_put_Visible(wma->vidwin, OATRUE);
+ wma->parent = lpParms->hWnd;
+ }
+ if (dwFlags & MCI_DGV_WINDOW_STATE) {
+ TRACE("Setting nCmdShow to %d\n", lpParms->nCmdShow);
+ IVideoWindow_put_WindowState(wma->vidwin, lpParms->nCmdShow);
+ }
+ if (dwFlags & MCI_DGV_WINDOW_TEXT) {
+ TRACE("Setting caption to %s\n", debugstr_w(lpParms->lpstrText));
+ IVideoWindow_put_Caption(wma->vidwin, lpParms->lpstrText);
+ }
+ return 0;
+}
+
/******************************************************************************
* MCIAVI_mciUpdate [internal]
*/
@@ -858,11 +900,12 @@ LRESULT CALLBACK MCIQTZ_DriverProc(DWORD_PTR dwDevID, HDRVR hDriv, UINT wMsg,
case MCI_SETAUDIO: return MCIQTZ_mciSetAudio (dwDevID, dwParam1, (LPMCI_DGV_SETAUDIO_PARMSW) dwParam2);
case MCI_UPDATE:
return MCIQTZ_mciUpdate(dwDevID, dwParam1, (LPMCI_DGV_UPDATE_PARMS)dwParam2);
+ case MCI_WINDOW:
+ return MCIQTZ_mciWindow(dwDevID, dwParam1, (LPMCI_DGV_WINDOW_PARMSW)dwParam2);
+ case MCI_PUT:
case MCI_RECORD:
case MCI_RESUME:
case MCI_INFO:
- case MCI_PUT:
- case MCI_WINDOW:
case MCI_LOAD:
case MCI_SAVE:
case MCI_FREEZE:
More information about the wine-cvs
mailing list