]> git.sesse.net Git - vlc/blobdiff - modules/video_output/sdl.c
Qt: correctly split options and escape ':' so if your dshow devices or your subtitle...
[vlc] / modules / video_output / sdl.c
index 3dbcfef7b4246258a25b4aeb456d899ed8c4335d..055524d00cb622d3757a7acc0042b6252ff5d791 100644 (file)
@@ -436,8 +436,7 @@ static int Manage( vout_thread_t *p_vout )
                     val.i_int &= ~1;
                     var_Set( p_vout, "mouse-button-down", val );
 
-                    val.b_bool = true;
-                    var_Set( p_vout, "mouse-clicked", val );
+                    var_SetBool( p_vout, "mouse-clicked", true );
 
                     val.b_bool = false;
                     var_Set( p_vout->p_libvlc, "intf-popupmenu", val );
@@ -459,18 +458,9 @@ static int Manage( vout_thread_t *p_vout )
 
             case SDL_BUTTON_RIGHT:
                 {
-                    intf_thread_t *p_intf;
-
                     var_Get( p_vout, "mouse-button-down", &val );
                     val.i_int &= ~4;
-                    var_Set( p_vout, "mous-button-down", val );
-                    p_intf = vlc_object_find( p_vout, VLC_OBJECT_INTF,
-                                                      FIND_ANYWHERE );
-                    if( p_intf )
-                    {
-                        p_intf->b_menu_change = 1;
-                        vlc_object_release( p_intf );
-                    }
+                    var_Set( p_vout, "mouse-button-down", val );
 
                     val.b_bool = true;
                     var_Set( p_vout->p_libvlc, "intf-popupmenu", val );
@@ -587,6 +577,28 @@ static int Manage( vout_thread_t *p_vout )
         p_vout->i_changes |= VOUT_SIZE_CHANGE;
     }
 
+    /* autoscale toggle */
+    if( p_vout->i_changes & VOUT_SCALE_CHANGE )
+    {
+        p_vout->i_changes &= ~VOUT_SCALE_CHANGE;
+
+        p_vout->b_autoscale = var_GetBool( p_vout, "autoscale" );
+        p_vout->i_zoom = (int) ZOOM_FP_FACTOR;
+
+        p_vout->i_changes |= VOUT_SIZE_CHANGE;
+    }
+
+    /* scaling factor (if no-autoscale) */
+    if( p_vout->i_changes & VOUT_ZOOM_CHANGE )
+    {
+        p_vout->i_changes &= ~VOUT_ZOOM_CHANGE;
+
+        p_vout->b_autoscale = false;
+        p_vout->i_zoom = (int)( ZOOM_FP_FACTOR * var_GetFloat( p_vout, "scale" ) );
+
+        p_vout->i_changes |= VOUT_SIZE_CHANGE;
+    }
+
     /* Crop or Aspect Ratio Changes */
     if( p_vout->i_changes & VOUT_CROP_CHANGE ||
         p_vout->i_changes & VOUT_ASPECT_CHANGE )