diff options
Diffstat (limited to 'source/blender/editors/transform/transform.c')
-rw-r--r-- | source/blender/editors/transform/transform.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index 9dcd3a3e510..ec3847acbce 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -797,6 +797,25 @@ static bool transform_event_modal_constraint(TransInfo *t, short modal_type) if (constraint_new == CON_AXIS2) { return false; } + + if (t->data_type == TC_SEQ_IMAGE_DATA) { + /* Setup the 2d msg string so it writes out the transform space. */ + msg_2d = msg_3d; + + short orient_index = 1; + if (t->orient_curr == O_DEFAULT || ELEM(constraint_curr, -1, constraint_new)) { + /* Successive presses on existing axis, cycle orientation modes. */ + orient_index = (short)((t->orient_curr + 1) % (int)ARRAY_SIZE(t->orient)); + } + + transform_orientations_current_set(t, orient_index); + if (orient_index != 0) { + /* Make sure that we don't stop the constraint unless we are looped back around to + * "no constraint". */ + constraint_curr = -1; + } + } + if (constraint_curr == constraint_new) { stopConstraint(t); } |