[vlc-devel] Re: [PATCH] Win32 directx/direct3d/opengl: fullscreen mode improved
Damien Fouilleul
damien.fouilleul at laposte.net
Tue May 8 17:39:57 CEST 2007
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
More information about the vlc-devel
mailing list