From: Jan Schmidt Subject: [PATCH 4/4] quartz: videorenderer - return FullScreen status Message-Id: <1468989432-519-4-git-send-email-jan@centricular.com> Date: Wed, 20 Jul 2016 14:37:12 +1000 In-Reply-To: <1468989432-519-1-git-send-email-jan@centricular.com> References: <1468989432-519-1-git-send-email-jan@centricular.com> 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 --- 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