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 */
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)
{
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)
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);
/* 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);
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 * );
| 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 );
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;
}