[vlc-devel] commit: Disable video-on-top while in fullscreen ( Rafaël Carré )

git version control git at videolan.org
Sat May 10 14:15:59 CEST 2008


vlc | branch: 0.8.6-bugfix | Rafaël Carré <funman at videolan.org> | Sat May 10 14:16:53 2008 +0200| [55e7393cfee2476b26f110101da6827bdfa5a613]

Disable video-on-top while in fullscreen

Really close #1227

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=55e7393cfee2476b26f110101da6827bdfa5a613
---

 modules/video_output/directx/direct3d.c |    4 ++++
 modules/video_output/directx/directx.c  |    6 +++++-
 modules/video_output/directx/glwin32.c  |    6 +++++-
 modules/video_output/x11/xcommon.c      |    3 +++
 4 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/modules/video_output/directx/direct3d.c b/modules/video_output/directx/direct3d.c
index ea70a97..3ad5df4 100644
--- a/modules/video_output/directx/direct3d.c
+++ b/modules/video_output/directx/direct3d.c
@@ -528,6 +528,10 @@ static int Manage( vout_thread_t *p_vout )
         val.b_bool = p_vout->b_fullscreen;
         var_Set( p_vout, "fullscreen", val );
 
+        /* Disable video-on-top while in fullscreen mode */
+        if( var_GetBool( p_vout, "video-on-top" ) )
+            ControlParentWindow( p_vout, VOUT_SET_STAY_ON_TOP, !val.b_bool );
+
         p_vout->i_changes &= ~VOUT_FULLSCREEN_CHANGE;
         p_vout->p_sys->i_changes &= ~VOUT_FULLSCREEN_CHANGE;
     }
diff --git a/modules/video_output/directx/directx.c b/modules/video_output/directx/directx.c
index c7fe3e9..ef84903 100644
--- a/modules/video_output/directx/directx.c
+++ b/modules/video_output/directx/directx.c
@@ -2,7 +2,7 @@
  * vout.c: Windows DirectX video output display method
  *****************************************************************************
  * Copyright (C) 2001-2004 the VideoLAN team
- * $Id$
+ * $Id: c7fe3e9667dbb25d2b5e84557dad373d0bb754ab $
  *
  * Authors: Gildas Bazin <gbazin at videolan.org>
  *
@@ -714,6 +714,10 @@ static int Manage( vout_thread_t *p_vout )
         val.b_bool = p_vout->b_fullscreen;
         var_Set( p_vout, "fullscreen", val );
 
+        /* Disable video-on-top while in fullscreen mode */
+        if( var_GetBool( p_vout, "video-on-top" ) )
+            ControlParentWindow( p_vout, VOUT_SET_STAY_ON_TOP, !val.b_bool );
+
         p_vout->i_changes &= ~VOUT_FULLSCREEN_CHANGE;
         p_vout->p_sys->i_changes &= ~VOUT_FULLSCREEN_CHANGE;
     }
diff --git a/modules/video_output/directx/glwin32.c b/modules/video_output/directx/glwin32.c
index 413950d..00b1b62 100644
--- a/modules/video_output/directx/glwin32.c
+++ b/modules/video_output/directx/glwin32.c
@@ -2,7 +2,7 @@
  * glwin32.c: Windows OpenGL provider
  *****************************************************************************
  * Copyright (C) 2001-2004 the VideoLAN team
- * $Id$
+ * $Id: 413950d2dad41d48d5b411aa8cdfb7b35f88033b $
  *
  * Authors: Gildas Bazin <gbazin at videolan.org>
  *
@@ -406,6 +406,10 @@ static int Manage( vout_thread_t *p_vout )
         val.b_bool = p_vout->b_fullscreen;
         var_Set( p_vout, "fullscreen", val );
 
+        /* Disable video-on-top while in fullscreen mode */
+        if( var_GetBool( p_vout, "video-on-top" ) )
+            ControlParentWindow( p_vout, VOUT_SET_STAY_ON_TOP, !val.b_bool );
+
         p_vout->i_changes &= ~VOUT_FULLSCREEN_CHANGE;
         p_vout->p_sys->i_changes &= ~VOUT_FULLSCREEN_CHANGE;
     }
diff --git a/modules/video_output/x11/xcommon.c b/modules/video_output/x11/xcommon.c
index c1b0be5..ab6ce48 100644
--- a/modules/video_output/x11/xcommon.c
+++ b/modules/video_output/x11/xcommon.c
@@ -907,6 +907,9 @@ static int ManageVideo( vout_thread_t *p_vout )
          *    instead of doing it via the fullscreen callback. That's got to
          *    be the correct one.
          */
+        if( var_GetBool( p_vout, "video-on-top" ) )
+            WindowOnTop( p_vout, !val.b_bool );
+
 #ifdef MODULE_NAME_IS_xvmc
         xvmc_context_reader_unlock( &p_vout->p_sys->xvmc_lock );
 #endif




More information about the vlc-devel mailing list