diff options
author | Germano Cavalcante <germano.costa@ig.com.br> | 2020-04-27 18:09:17 +0300 |
---|---|---|
committer | Germano Cavalcante <germano.costa@ig.com.br> | 2020-04-27 18:09:17 +0300 |
commit | 0a7dd1ec49378d4c02491f5e96f8e5073d01bde1 (patch) | |
tree | 250e670be5cfcd40500c40823f6bef7cfe2de7a5 /source/blender/editors/transform/transform_convert.c | |
parent | b0f207db15c5698f11db1168d2882f056583d6d5 (diff) | |
parent | a4df7f78a8816ca463cb09f23ac64b989cd8ebb0 (diff) |
Merge branch 'blender-v2.83-release'
Diffstat (limited to 'source/blender/editors/transform/transform_convert.c')
-rw-r--r-- | source/blender/editors/transform/transform_convert.c | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/source/blender/editors/transform/transform_convert.c b/source/blender/editors/transform/transform_convert.c index f75c2c52756..ae71c0adacc 100644 --- a/source/blender/editors/transform/transform_convert.c +++ b/source/blender/editors/transform/transform_convert.c @@ -819,25 +819,29 @@ void clipUVData(TransInfo *t) * \{ */ /** - * For modal operation: `t->center_global` may not have been set yet. + * Used for `TFM_TIME_EXTEND`. */ -void transform_convert_center_global_v2(TransInfo *t, float r_center[2]) +char transform_convert_frame_side_dir_get(TransInfo *t, float cframe) { + char r_dir; + Scene *scene = t->scene; + float center[2]; if (t->flag & T_MODAL) { UI_view2d_region_to_view( - (View2D *)t->view, t->mouse.imval[0], t->mouse.imval[1], &r_center[0], &r_center[1]); + (View2D *)t->view, t->mouse.imval[0], t->mouse.imval[1], ¢er[0], ¢er[1]); + r_dir = (center[0] > cframe) ? 'R' : 'L'; + { + /* XXX: This saves the direction in the "mirror" property to be used for redo! */ + if (r_dir == 'R') { + t->flag |= T_NO_MIRROR; + } + } } else { - copy_v2_v2(r_center, t->center_global); + r_dir = (t->flag & T_NO_MIRROR) ? 'R' : 'L'; } -} -void transform_convert_center_global_v2_int(TransInfo *t, int r_center[2]) -{ - float center[2]; - transform_convert_center_global_v2(t, center); - r_center[0] = round_fl_to_int(center[0]); - r_center[1] = round_fl_to_int(center[1]); + return r_dir; } /* This function tests if a point is on the "mouse" side of the cursor/frame-marking */ |