[Bf-blender-cvs] [fe10d37a9f2] temp-vse-preview-transform: Add support for individual origins pivot point

Richard Antalik noreply at git.blender.org
Fri Sep 10 11:40:18 CEST 2021


Commit: fe10d37a9f28edd8b05cfa3792aace4a450da7e7
Author: Richard Antalik
Date:   Mon Sep 6 22:04:39 2021 +0200
Branches: temp-vse-preview-transform
https://developer.blender.org/rBfe10d37a9f28edd8b05cfa3792aace4a450da7e7

Add support for individual origins pivot point

===================================================================

M	source/blender/editors/transform/transform_convert_sequencer_image.c
M	source/blender/editors/transform/transform_generics.c
M	source/blender/editors/transform/transform_gizmo_2d.c
M	source/blender/editors/transform/transform_mode.c

===================================================================

diff --git a/source/blender/editors/transform/transform_convert_sequencer_image.c b/source/blender/editors/transform/transform_convert_sequencer_image.c
index 28ae7914b2f..e3ef9ab9515 100644
--- a/source/blender/editors/transform/transform_convert_sequencer_image.c
+++ b/source/blender/editors/transform/transform_convert_sequencer_image.c
@@ -94,7 +94,7 @@ static TransData *SeqToTransData(
 
 void createTransSeqImageData(TransInfo *t)
 {
-  Editing *ed = SEQ_editing_get(t->scene, false);
+  Editing *ed = SEQ_editing_get(t->scene);
   ListBase *seqbase = SEQ_active_seqbase_get(ed);
   SeqCollection *strips = Seq_query_rendered_strips(seqbase, t->scene->r.cfra, 0);
   SEQ_filter_selected_strips(strips);
@@ -130,15 +130,16 @@ void recalcData_sequencer_image(TransInfo *t)
   int i;
 
   for (i = 0, td = tc->data, td2d = tc->data_2d; i < tc->data_len; i++, td++, td2d++) {
+    /* Origin. */
     float loc[2];
     copy_v2_v2(loc, td2d->loc);
     i++, td++, td2d++;
 
+    /* X and Y helper handle points used to read scale and rotation. */
     float handle_x[2];
     copy_v2_v2(handle_x, td2d->loc);
     sub_v2_v2(handle_x, loc);
     i++, td++, td2d++;
-
     float handle_y[2];
     copy_v2_v2(handle_y, td2d->loc);
     sub_v2_v2(handle_y, loc);
diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c
index 0dfb229191c..cff213a0abf 100644
--- a/source/blender/editors/transform/transform_generics.c
+++ b/source/blender/editors/transform/transform_generics.c
@@ -258,7 +258,6 @@ void initTransInfo(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *eve
     if (t->scene->toolsettings->transform_flag & SCE_XFORM_AXIS_ALIGN) {
       t->flag |= T_V3D_ALIGN;
     }
-    t->around = t->scene->toolsettings->transform_pivot_point;
 
     /* bend always uses the cursor */
     if (t->mode == TFM_BEND) {
@@ -341,6 +340,10 @@ void initTransInfo(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *eve
       t->options |= CTX_MASK;
     }
   }
+  else if (t->spacetype == SPACE_SEQ && region->regiontype == RGN_TYPE_PREVIEW) {
+    t->view = &region->v2d;
+    t->around = t->scene->toolsettings->transform_pivot_point;
+  }
   else {
     if (region) {
       /* XXX: For now, get View2D from the active region. */
diff --git a/source/blender/editors/transform/transform_gizmo_2d.c b/source/blender/editors/transform/transform_gizmo_2d.c
index ce71c50a5ed..2e22712a67f 100644
--- a/source/blender/editors/transform/transform_gizmo_2d.c
+++ b/source/blender/editors/transform/transform_gizmo_2d.c
@@ -246,7 +246,7 @@ static float gizmo2d_calc_rotation(const bContext *C)
   }
 
   Scene *scene = CTX_data_scene(C);
-  Editing *ed = SEQ_editing_get(scene, false);
+  Editing *ed = SEQ_editing_get(scene);
   ListBase *seqbase = SEQ_active_seqbase_get(ed);
   SeqCollection *strips = Seq_query_rendered_strips(seqbase, scene->r.cfra, 0);
   SEQ_filter_selected_strips(strips);
@@ -277,7 +277,7 @@ static bool gizmo2d_calc_center(const bContext *C, float r_center[2])
   }
   else if (area->spacetype == SPACE_SEQ) {
     Scene *scene = CTX_data_scene(C);
-    ListBase *seqbase = SEQ_active_seqbase_get(SEQ_editing_get(scene, false));
+    ListBase *seqbase = SEQ_active_seqbase_get(SEQ_editing_get(scene));
     SeqCollection *strips = Seq_query_rendered_strips(seqbase, scene->r.cfra, 0);
     SEQ_filter_selected_strips(strips);
 
diff --git a/source/blender/editors/transform/transform_mode.c b/source/blender/editors/transform/transform_mode.c
index b9fb8a86752..b14d499cb66 100644
--- a/source/blender/editors/transform/transform_mode.c
+++ b/source/blender/editors/transform/transform_mode.c
@@ -75,7 +75,7 @@ bool transdata_check_local_center(const TransInfo *t, short around)
            /* implicit: (t->flag & T_EDIT) */
            (ELEM(t->obedit_type, OB_MESH, OB_CURVE, OB_MBALL, OB_ARMATURE, OB_GPENCIL)) ||
            (t->spacetype == SPACE_GRAPH) ||
-           (t->options & (CTX_MOVIECLIP | CTX_MASK | CTX_PAINT_CURVE))));
+           (t->options & (CTX_MOVIECLIP | CTX_MASK | CTX_PAINT_CURVE | CTX_SEQUENCER_IMAGE))));
 }
 
 /* Informs if the mode can be switched during modal. */



More information about the Bf-blender-cvs mailing list