[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53738] trunk/blender/source/blender/ editors/interface/view2d_ops.c: Usability:

Ton Roosendaal ton at blender.org
Sat Jan 12 12:00:28 CET 2013


Revision: 53738
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53738
Author:   ton
Date:     2013-01-12 11:00:27 +0000 (Sat, 12 Jan 2013)
Log Message:
-----------
Usability:

Ancient annoying thing for zooming in 2d views: when a view was restricted to keep
aspect ratio, it only allowed vertical or horizontal MMB-drag zooms, depending 
portrait or landscape size of editors. Same for trackpad and magic mouse.

Now vertical zoom drag always works for editors like buttons, nodes.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/view2d_ops.c

Modified: trunk/blender/source/blender/editors/interface/view2d_ops.c
===================================================================
--- trunk/blender/source/blender/editors/interface/view2d_ops.c	2013-01-12 10:59:13 UTC (rev 53737)
+++ trunk/blender/source/blender/editors/interface/view2d_ops.c	2013-01-12 11:00:27 UTC (rev 53738)
@@ -952,6 +952,13 @@
 			fac = 0.01f * (event->prevy - event->y);
 		dy = fac * BLI_rctf_size_y(&v2d->cur) / 10.0f;
 
+		/* support trackpad zoom to always zoom entirely - the v2d code uses portrait or landscape exceptions */
+		if (v2d->keepzoom & V2D_KEEPASPECT) {
+			if (fabsf(dx) > fabsf(dy))
+				dy = dx;
+			else
+				dx = dy;
+		}
 		RNA_float_set(op->ptr, "deltax", dx);
 		RNA_float_set(op->ptr, "deltay", dy);
 		
@@ -1039,6 +1046,14 @@
 			
 		}
 		
+		/* support zoom to always zoom entirely - the v2d code uses portrait or landscape exceptions */
+		if (v2d->keepzoom & V2D_KEEPASPECT) {
+			if (fabsf(dx) > fabsf(dy))
+				dy = dx;
+			else
+				dx = dy;
+		}
+		
 		/* set transform amount, and add current deltas to stored total delta (for redo) */
 		RNA_float_set(op->ptr, "deltax", dx);
 		RNA_float_set(op->ptr, "deltay", dy);




More information about the Bf-blender-cvs mailing list