[PATCH 4/4] quartz: videorenderer - return FullScreen status

Jan Schmidt jan at centricular.com
Tue Jul 19 23:37:12 CDT 2016


make IVideoWindow::get_FullScreenMode actually return
the fullscreen status in the passed variable.

The Blood Rayne 1 demo checks this before switching the
window to fullscreen. Makes the intro video there play
in fullscreen instead of a separate window.

Signed-off-by: Jan Schmidt <jan at centricular.com>
---
 dlls/quartz/videorenderer.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/dlls/quartz/videorenderer.c b/dlls/quartz/videorenderer.c
index 5cddaa7..c011da8 100644
--- a/dlls/quartz/videorenderer.c
+++ b/dlls/quartz/videorenderer.c
@@ -62,6 +62,7 @@ typedef struct VideoRendererImpl
     RECT WindowPos;
     LONG VideoWidth;
     LONG VideoHeight;
+    LONG FullScreenMode;
 } VideoRendererImpl;
 
 static inline VideoRendererImpl *impl_from_BaseWindow(BaseWindow *iface)
@@ -890,7 +891,12 @@ static HRESULT WINAPI VideoWindow_get_FullScreenMode(IVideoWindow *iface,
 {
     VideoRendererImpl *This = impl_from_IVideoWindow(iface);
 
-    FIXME("(%p/%p)->(%p): stub !!!\n", This, iface, FullScreenMode);
+    TRACE("(%p/%p)->(%p): %d\n", This, iface, FullScreenMode, This->FullScreenMode);
+
+    if (!FullScreenMode)
+        return E_POINTER;
+
+    *FullScreenMode = This->FullScreenMode;
 
     return S_OK;
 }
@@ -918,6 +924,7 @@ static HRESULT WINAPI VideoWindow_put_FullScreenMode(IVideoWindow *iface,
         SetWindowPos(This->baseControlWindow.baseWindow.hWnd,0,This->DestRect.left,This->DestRect.top,This->DestRect.right,This->DestRect.bottom,SWP_NOZORDER|SWP_SHOWWINDOW);
         This->WindowPos = This->DestRect;
     }
+    This->FullScreenMode = FullScreenMode;
 
     return S_OK;
 }
@@ -1025,6 +1032,7 @@ HRESULT VideoRenderer_create(IUnknown *pUnkOuter, void **ppv)
     ZeroMemory(&pVideoRenderer->SourceRect, sizeof(RECT));
     ZeroMemory(&pVideoRenderer->DestRect, sizeof(RECT));
     ZeroMemory(&pVideoRenderer->WindowPos, sizeof(RECT));
+    pVideoRenderer->FullScreenMode = OAFALSE;
 
     if (pUnkOuter)
         pVideoRenderer->outer_unk = pUnkOuter;
-- 
2.7.4




More information about the wine-patches mailing list