]> git.sesse.net Git - vlc/commitdiff
vout: pass enum for window state instead of boolean (refs #10302)
authorRémi Denis-Courmont <remi@remlab.net>
Sat, 4 Jan 2014 21:51:24 +0000 (23:51 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Sun, 5 Jan 2014 10:05:07 +0000 (12:05 +0200)
src/video_output/control.h
src/video_output/video_output.c
src/video_output/vout_internal.h
src/video_output/vout_intf.c

index 2e25cb856c31dfd5da5405b548ac98103d5d56b6..3d66793c48e592cc0600addcf280268e44283da8 100644 (file)
@@ -49,7 +49,7 @@ enum {
     VOUT_CONTROL_STEP,                  /* time_ptr */
 
     VOUT_CONTROL_FULLSCREEN,            /* bool */
-    VOUT_CONTROL_ON_TOP,                /* bool */
+    VOUT_CONTROL_WINDOW_STATE,          /* unsigned */
     VOUT_CONTROL_DISPLAY_FILLED,        /* bool */
     VOUT_CONTROL_ZOOM,                  /* pair */
 
index 6739d4cec1f1b6a5357fc30fb437a9d836aae9a7..cf65df63e5ec5f4bf8803848bc25ea71da5ba2ac 100644 (file)
@@ -499,10 +499,9 @@ void vout_ControlChangeFullscreen(vout_thread_t *vout, bool fullscreen)
     vout_control_PushBool(&vout->p->control, VOUT_CONTROL_FULLSCREEN,
                           fullscreen);
 }
-void vout_ControlChangeOnTop(vout_thread_t *vout, bool is_on_top)
+void vout_ControlChangeWindowState(vout_thread_t *vout, unsigned st)
 {
-    vout_control_PushBool(&vout->p->control, VOUT_CONTROL_ON_TOP,
-                          is_on_top);
+    vout_control_PushInteger(&vout->p->control, VOUT_CONTROL_WINDOW_STATE, st);
 }
 void vout_ControlChangeDisplayFilled(vout_thread_t *vout, bool is_filled)
 {
@@ -1254,11 +1253,9 @@ static void ThreadChangeFullscreen(vout_thread_t *vout, bool fullscreen)
     vout_SetDisplayFullscreen(vout->p->display.vd, fullscreen);
 }
 
-static void ThreadChangeOnTop(vout_thread_t *vout, bool is_on_top)
+static void ThreadChangeWindowState(vout_thread_t *vout, unsigned state)
 {
-    vout_SetWindowState(vout->p->display.vd,
-                        is_on_top ? VOUT_WINDOW_STATE_ABOVE :
-                                    VOUT_WINDOW_STATE_NORMAL);
+    vout_SetWindowState(vout->p->display.vd, state);
 }
 
 static void ThreadChangeDisplayFilled(vout_thread_t *vout, bool is_filled)
@@ -1499,8 +1496,8 @@ static int ThreadControl(vout_thread_t *vout, vout_control_cmd_t cmd)
     case VOUT_CONTROL_FULLSCREEN:
         ThreadChangeFullscreen(vout, cmd.u.boolean);
         break;
-    case VOUT_CONTROL_ON_TOP:
-        ThreadChangeOnTop(vout, cmd.u.boolean);
+    case VOUT_CONTROL_WINDOW_STATE:
+        ThreadChangeWindowState(vout, cmd.u.integer);
         break;
     case VOUT_CONTROL_DISPLAY_FILLED:
         ThreadChangeDisplayFilled(vout, cmd.u.boolean);
index 90ec3a3487c298746461038dbe998b9ff6613ef2..f6ad26981072c03ee7e17b305fc1eac756bfba73 100644 (file)
@@ -140,7 +140,7 @@ struct vout_thread_sys_t
 
 /* TODO to move them to vlc_vout.h */
 void vout_ControlChangeFullscreen(vout_thread_t *, bool fullscreen);
-void vout_ControlChangeOnTop(vout_thread_t *, bool is_on_top);
+void vout_ControlChangeWindowState(vout_thread_t *, unsigned state);
 void vout_ControlChangeDisplayFilled(vout_thread_t *, bool is_filled);
 void vout_ControlChangeZoom(vout_thread_t *, int num, int den);
 void vout_ControlChangeSampleAspectRatio(vout_thread_t *, unsigned num, unsigned den);
index fb288cf0245d7b16be1f1a0cf004d9cc1d566f24..4a214c4332a5d9eed156041274258e99fc0f1d03 100644 (file)
@@ -59,7 +59,7 @@ static int ScaleCallback( vlc_object_t *, char const *,
                           vlc_value_t, vlc_value_t, void * );
 static int ZoomCallback( vlc_object_t *, char const *,
                          vlc_value_t, vlc_value_t, void * );
-static int OnTopCallback( vlc_object_t *, char const *,
+static int AboveCallback( vlc_object_t *, char const *,
                           vlc_value_t, vlc_value_t, void * );
 static int FullscreenCallback( vlc_object_t *, char const *,
                                vlc_value_t, vlc_value_t, void * );
@@ -273,7 +273,7 @@ void vout_IntfInit( vout_thread_t *p_vout )
                 | VLC_VAR_ISCOMMAND );
     text.psz_string = _("Always on top");
     var_Change( p_vout, "video-on-top", VLC_VAR_SETTEXT, &text, NULL );
-    var_AddCallback( p_vout, "video-on-top", OnTopCallback, NULL );
+    var_AddCallback( p_vout, "video-on-top", AboveCallback, NULL );
 
     /* Add a variable to indicate whether we want window decoration or not */
     var_Create( p_vout, "video-deco", VLC_VAR_BOOL | VLC_VAR_DOINHERIT );
@@ -622,13 +622,12 @@ static int ZoomCallback( vlc_object_t *obj, char const *name,
     return var_SetFloat( obj, "scale", cur.f_float );
 }
 
-static int OnTopCallback( vlc_object_t *p_this, char const *psz_cmd,
-                         vlc_value_t oldval, vlc_value_t newval, void *p_data )
+static int AboveCallback( vlc_object_t *obj, char const *name,
+                          vlc_value_t prev, vlc_value_t cur, void *data )
 {
-    vout_thread_t *p_vout = (vout_thread_t *)p_this;
-    (void)psz_cmd; (void)oldval; (void)p_data;
-
-    vout_ControlChangeOnTop( p_vout, newval.b_bool );
+    vout_ControlChangeWindowState( (vout_thread_t *)obj,
+        cur.b_bool ? VOUT_WINDOW_STATE_ABOVE : VOUT_WINDOW_STATE_NORMAL );
+    (void) name; (void) prev; (void) data;
     return VLC_SUCCESS;
 }