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

Andrew Eikum aeikum at codeweavers.com
Wed Jul 20 10:19:27 CDT 2016


Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>

On Wed, Jul 20, 2016 at 02:37:12PM +1000, Jan Schmidt wrote:
> 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