Tracking: Fix jump when sliding tild/scale of marker

Was a mistake in coordinate handling: need to take possible offset
from the sliding area.

Mouse us still not fully perfectly follows changes of the tilt slide
area, but that is a separate issue.
This commit is contained in:
Sergey Sharybin 2022-03-24 16:21:59 +01:00
parent cee6af0056
commit dd7250efb1
1 changed files with 2 additions and 11 deletions

View File

@ -876,22 +876,13 @@ static int slide_marker_modal(bContext *C, wmOperator *op, const wmEvent *event)
BKE_tracking_marker_clamp(data->marker, CLAMP_PAT_DIM);
}
else if (data->action == SLIDE_ACTION_TILT_SIZE) {
const float mouse_delta[2] = {dx, dy};
float start[2], end[2];
float scale = 1.0f, angle = 0.0f;
float mval[2];
if (data->accurate) {
mval[0] = data->mval[0] + (event->mval[0] - data->mval[0]) / 5.0f;
mval[1] = data->mval[1] + (event->mval[1] - data->mval[1]) / 5.0f;
}
else {
mval[0] = event->mval[0];
mval[1] = event->mval[1];
}
sub_v2_v2v2(start, data->spos, data->old_pos);
ED_clip_point_stable_pos(sc, region, mval[0], mval[1], &end[0], &end[1]);
add_v2_v2v2(end, data->spos, mouse_delta);
sub_v2_v2(end, data->old_pos);
if (len_squared_v2(start) != 0.0f) {