[MCIAVI] Add support for MCI_DGV_WHERE_MAX flag in MCIAVI_mciWhere
Christian Costa
titan.costa at wanadoo.fr
Mon Mar 15 15:42:23 CST 2004
Hi,
Changelog :
Added support for MCI_DGV_WHERE_MAX flag in MCIAVI_mciWhere.
Fixed WHERE_WINDOW.
Christian Costa titan.costa at wanadoo.fr
-------------- next part --------------
Index: wnd.c
===================================================================
RCS file: /home/wine/wine/dlls/winmm/mciavi/wnd.c,v
retrieving revision 1.13
diff -u -r1.13 wnd.c
--- wnd.c 1 Mar 2004 23:38:25 -0000 1.13
+++ wnd.c 15 Mar 2004 20:28:20 -0000
@@ -207,35 +207,55 @@
if (lpParms == NULL) return MCIERR_NULL_PARAMETER_BLOCK;
if (wma == NULL) return MCIERR_INVALID_DEVICE_ID;
- if (dwFlags & MCI_DGV_WHERE_MAX)
- {
- FIXME("WHERE_MAX\n");
- return MCIERR_UNRECOGNIZED_COMMAND;
- }
-
EnterCriticalSection(&wma->cs);
if (dwFlags & MCI_DGV_WHERE_DESTINATION) {
- TRACE("WHERE_DESTINATION %s\n", wine_dbgstr_rect(&wma->dest));
- lpParms->rc = wma->dest;
+ if (dwFlags & MCI_DGV_WHERE_MAX) {
+ GetClientRect(wma->hWndPaint, &lpParms->rc);
+ TRACE("WHERE_DESTINATION_MAX %s\n", wine_dbgstr_rect(&lpParms->rc));
+ } else {
+ TRACE("WHERE_DESTINATION %s\n", wine_dbgstr_rect(&wma->dest));
+ lpParms->rc = wma->dest;
+ }
}
if (dwFlags & MCI_DGV_WHERE_FRAME) {
- FIXME("MCI_DGV_WHERE_FRAME\n");
- LeaveCriticalSection(&wma->cs);
+ if (dwFlags & MCI_DGV_WHERE_MAX)
+ FIXME("MCI_DGV_WHERE_FRAME_MAX\n");
+ else
+ FIXME("MCI_DGV_WHERE_FRAME\n");
+ LeaveCriticalSection(&wma->cs);
return MCIERR_UNRECOGNIZED_COMMAND;
}
if (dwFlags & MCI_DGV_WHERE_SOURCE) {
- TRACE("WHERE_SOURCE %s\n", wine_dbgstr_rect(&wma->source));
- lpParms->rc = wma->source;
+ if (dwFlags & MCI_DGV_WHERE_MAX) {
+ RECT rect;
+ rect.left = 0;
+ rect.top = 0;
+ rect.right = wma->inbih->biWidth;
+ rect.bottom = wma->inbih->biHeight;
+ TRACE("WHERE_SOURCE_MAX %s\n", wine_dbgstr_rect(&rect));
+ lpParms->rc = rect;
+ } else {
+ TRACE("WHERE_SOURCE %s\n", wine_dbgstr_rect(&wma->source));
+ lpParms->rc = wma->source;
+ }
}
if (dwFlags & MCI_DGV_WHERE_VIDEO) {
- FIXME("WHERE_VIDEO\n");
- LeaveCriticalSection(&wma->cs);
+ if (dwFlags & MCI_DGV_WHERE_MAX)
+ FIXME("WHERE_VIDEO_MAX\n");
+ else
+ FIXME("WHERE_VIDEO\n");
+ LeaveCriticalSection(&wma->cs);
return MCIERR_UNRECOGNIZED_COMMAND;
}
if (dwFlags & MCI_DGV_WHERE_WINDOW) {
- GetClientRect(wma->hWndPaint, &lpParms->rc);
- TRACE("WHERE_WINDOW %s\n", wine_dbgstr_rect(&lpParms->rc));
+ if (dwFlags & MCI_DGV_WHERE_MAX) {
+ GetWindowRect(GetDesktopWindow(), &lpParms->rc);
+ TRACE("WHERE_WINDOW_MAX %s\n", wine_dbgstr_rect(&lpParms->rc));
+ } else {
+ GetWindowRect(wma->hWndPaint, &lpParms->rc);
+ TRACE("WHERE_WINDOW %s\n", wine_dbgstr_rect(&lpParms->rc));
+ }
}
LeaveCriticalSection(&wma->cs);
return 0;
More information about the wine-patches
mailing list