X-Git-Url: http://git.videolan.org/gitweb.cgi/vlc.git/?p=vlc.git;p=vlc.git;a=blobdiff_plain;f=modules%2Fcontrol%2Fhotkeys.c;h=bdb4ce1ded5d1e62cbb545c266c0bd08c2cfb7da;hp=b11e8a65fb0f76d963cbe7d9bfe5f5c7bf34c1ce;hb=9885e3480e42d648daef956dd84ce59d7bd4d9bf;hpb=0c52acaeed113f6c2365485a1a7098e194f70b5b;ds=sidebyside diff --git a/modules/control/hotkeys.c b/modules/control/hotkeys.c index b11e8a65fb..bdb4ce1ded 100644 --- a/modules/control/hotkeys.c +++ b/modules/control/hotkeys.c @@ -609,10 +609,44 @@ static void Run( intf_thread_t *p_intf ) } free( val.psz_string ); } - else if( i_action == ACTIONID_TOGGLE_SCALING && p_vout ) + else if( i_action == ACTIONID_TOGGLE_AUTOSCALE && p_vout ) { - bool b_scaling = var_GetBool( p_vout, "scaling" ); - var_SetBool( p_vout, "scaling", !b_scaling ); + float f_scalefactor = var_GetFloat( p_vout, "scale" ); + if ( f_scalefactor != 1.0 ) + { + var_SetFloat( p_vout, "scale", 1.0 ); + vout_OSDMessage( VLC_OBJECT(p_input), DEFAULT_CHAN, + _("Zooming reset") ); + } + else + { + bool b_autoscale = !var_GetBool( p_vout, "autoscale" ); + var_SetBool( p_vout, "autoscale", b_autoscale ); + if( b_autoscale ) + vout_OSDMessage( VLC_OBJECT(p_input), DEFAULT_CHAN, + _("Scaled to screen") ); + else + vout_OSDMessage( VLC_OBJECT(p_input), DEFAULT_CHAN, + _("Original Size") ); + } + } + else if( i_action == ACTIONID_SCALE_UP && p_vout ) + { + float f_scalefactor; + + f_scalefactor = var_GetFloat( p_vout, "scale" ); + if( f_scalefactor < 10. ) + f_scalefactor += .1; + var_SetFloat( p_vout, "scale", f_scalefactor ); + } + else if( i_action == ACTIONID_SCALE_DOWN && p_vout ) + { + float f_scalefactor; + + f_scalefactor = var_GetFloat( p_vout, "scale" ); + if( f_scalefactor > .3 ) + f_scalefactor -= .1; + var_SetFloat( p_vout, "scale", f_scalefactor ); } else if( i_action == ACTIONID_DEINTERLACE && p_vout ) {