[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58875] branches/soc-2011-tomato/source/ blender/editors/space_clip/tracking_ops.c: Made corner sliding more convenient

Sergey Sharybin sergey.vfx at gmail.com
Sat Aug 3 21:53:44 CEST 2013


Revision: 58875
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58875
Author:   nazgul
Date:     2013-08-03 19:53:44 +0000 (Sat, 03 Aug 2013)
Log Message:
-----------
Made corner sliding more convenient

Now it's possible to slide corner roughly, then
press Shift to switch to accurate positioning.

Before this change corner used to jump when one
presses shift, which wasn't too much convenient.

Modified Paths:
--------------
    branches/soc-2011-tomato/source/blender/editors/space_clip/tracking_ops.c

Modified: branches/soc-2011-tomato/source/blender/editors/space_clip/tracking_ops.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/space_clip/tracking_ops.c	2013-08-03 19:53:38 UTC (rev 58874)
+++ branches/soc-2011-tomato/source/blender/editors/space_clip/tracking_ops.c	2013-08-03 19:53:44 UTC (rev 58875)
@@ -4596,8 +4596,9 @@
 	MovieTrackingPlaneTrack *plane_track;
 	MovieTrackingPlaneMarker *plane_marker;
 	int width, height;
-	int mval[2];
 	float *corner;
+	int previous_mval[2];
+	float previous_corner[2];
 	float old_corner[2];
 	bool accurate;
 } SlidePlaneMarkerData;
@@ -4693,11 +4694,12 @@
 		customdata->width = width;
 		customdata->height = height;
 
-		customdata->mval[0] = event->mval[0];
-		customdata->mval[1] = event->mval[1];
+		customdata->previous_mval[0] = event->mval[0];
+		customdata->previous_mval[1] = event->mval[1];
 
 		customdata->corner = plane_marker->corners[corner];
 
+		copy_v2_v2(customdata->previous_corner, customdata->corner);
 		copy_v2_v2(customdata->old_corner, customdata->corner);
 	}
 
@@ -4763,8 +4765,8 @@
 
 			/* fall-through */
 		case MOUSEMOVE:
-			mdelta[0] = event->mval[0] - data->mval[0];
-			mdelta[1] = event->mval[1] - data->mval[1];
+			mdelta[0] = event->mval[0] - data->previous_mval[0];
+			mdelta[1] = event->mval[1] - data->previous_mval[1];
 
 			dx = mdelta[0] / data->width / sc->zoom;
 			dy = mdelta[1] / data->height / sc->zoom;
@@ -4775,9 +4777,13 @@
 			}
 
 			/* TODO(sergey): Add concave check here. */
-			data->corner[0] = data->old_corner[0] + dx;
-			data->corner[1] = data->old_corner[1] + dy;
+			data->corner[0] = data->previous_corner[0] + dx;
+			data->corner[1] = data->previous_corner[1] + dy;
 
+			data->previous_mval[0] = event->mval[0];
+			data->previous_mval[1] = event->mval[1];
+			copy_v2_v2(data->previous_corner, data->corner);
+
 			DAG_id_tag_update(&sc->clip->id, 0);
 
 			WM_event_add_notifier(C, NC_MOVIECLIP | NA_EDITED, NULL);




More information about the Bf-blender-cvs mailing list