[vlc-devel] Re: [PATCH] Win32 directx/direct3d/opengl: fullscreen mode improved

Damien Fouilleul damien.fouilleul at laposte.net
Tue May 8 17:54:25 CEST 2007


i'm not so warm about the wingdi patch, i'd rather have it merged with 
the rest of the other modules so that integration is fully complete

Sergey Volk wrote:
> Great! Thanks for reviewing and applying this patch.
> You may also want to have a look at a similar patch for wingdi module, 
> which I have posted to vlc-devel mail-list on May 3.
>
>  
> On 5/8/07, *Damien Fouilleul* <damien.fouilleul at laposte.net 
> <mailto:damien.fouilleul at laposte.net>> wrote:
>
>     Sergey Volk wrote:
>     >
>     > Hi,
>     > Current implementation of directx video output modules (directx,
>     > direct3d, glwin32) leaves main interface window visible when the
>     user
>     > toggles fullscreen mode. This causes two problems: (a) the user sees
>     > empty main interface window when he switches to another
>     application or
>     > cycles through existing windows using Alt-Tab and (b) main interface
>     > window overlaps video window when he toggles "video-on-top" option
>     > while fullscreen mode is active. In order to fix both these
>     issues, we
>     > should hide main interface window when entering fullscreen mode and
>     > restore it when leaving fullscreen mode. But some GUI modules (in
>     > particular qt4 module) may need to call show() for main interface
>     > window in order to apply "video-on-top" flag, so in order to avoid
>     > condition (b) described earlier we need also to hide
>     > VOUT_SET_STAY_ON_TOP queries from main interface window while we
>     are
>     > in fullscreen mode and update "video-on-top" status for main window
>     > when we are leaving fullscreen mode.
>     >
>     > I have also noticed that there is a code in
>     > src/video_output/vout_intf.c:FullscreenCallback (line 1151), which
>     > sets video-on-top variable to false, when entering fullscreen
>     mode. I
>     > think this code should be removed, there is no point in disabling
>     > video-on-top option, as the user may change this option in
>     fullscreen
>     > mode anyway (through mouse / hotkey controls, at least). So
>     > video_output modules should be aware that video-on-top variable
>     may be
>     > toggled in fullscreen mode and should handle such situations
>     > appropriately. I'm developing under win32/cygwin, so I haven't
>     checked
>     > if similar reasoning applies to X11 module or any of the other video
>     > output modules. It seems that at least wingdi output module has the
>     > same problem, but it's code is somewhat different from
>     > DirectX/Direct3D/Win32 OpenGL code, so I'll provide patch for wingdi
>     > module later. In the meantime, I think it is safe to leave that old
>     > code as it is.
>     >
>     > Two patches are attached to this message:
>     vlc-vout-dx-fullscreen.patch
>     > is a version which fixes fullscreen mode for DirectX module only, it
>     > is intended only to demonstrate what changes are being applied to
>     > current version. Another one - vlc-vout-dx-fullscreen2.patch , does
>     > essentially the same, only it fixes all three modules (directx,
>     > direct3d and opengl) and refactors some common code for toggling
>     > fullscreen mode into Win32ToggleFullscreen function, to remove code
>     > duplication between those modules.
>     >
>     patch applied thanks !
>
>     --
>     This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
>     To unsubscribe, please read http://developers.videolan.org/lists.html
>
>

-- 
This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html



More information about the vlc-devel mailing list