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

Sergey Volk sergey.volk at gmail.com
Tue May 8 17:50:55 CEST 2007

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> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20070508/4aa6966b/attachment.html>

More information about the vlc-devel mailing list