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);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to