[Bf-blender-cvs] [6dbb3ae99ef] temp-vse-preview-transform2: Address inlines

Richard Antalik noreply at git.blender.org
Fri Sep 17 10:06:14 CEST 2021


Commit: 6dbb3ae99efabfeec847e74aeb2ba330608e9cba
Author: Richard Antalik
Date:   Thu Sep 16 04:16:21 2021 +0200
Branches: temp-vse-preview-transform2
https://developer.blender.org/rB6dbb3ae99efabfeec847e74aeb2ba330608e9cba

Address inlines

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

M	source/blender/editors/space_sequencer/sequencer_draw.c
M	source/blender/editors/transform/transform_convert_sequencer_image.c
M	source/blender/editors/transform/transform_draw_cursors.c
M	source/blender/editors/transform/transform_gizmo_2d.c
M	source/blender/makesdna/DNA_sequence_types.h
M	source/blender/sequencer/SEQ_transform.h
M	source/blender/sequencer/intern/render.c
M	source/blender/sequencer/intern/strip_transform.c

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

diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c
index c26757716d0..85c8a183aae 100644
--- a/source/blender/editors/space_sequencer/sequencer_draw.c
+++ b/source/blender/editors/space_sequencer/sequencer_draw.c
@@ -2064,7 +2064,7 @@ static void seq_draw_image_origin_and_outline(const bContext *C, Sequence *seq)
   const StripTransform *transform = seq->strip->transform;
 
   float origin[2];
-  SEQ_image_transform_origin_offset_get(CTX_data_scene(C), seq, origin);
+  SEQ_image_transform_origin_offset_pixelspace_get(CTX_data_scene(C), seq, origin);
 
   /* Origin. */
   float x = transform->xofs + origin[0];
@@ -2083,7 +2083,6 @@ static void seq_draw_image_origin_and_outline(const bContext *C, Sequence *seq)
   immUnbindProgram();
 
   /* Outline. */
-  StripElem *strip_elem = seq->strip->stripdata;
   float transform_matrix[3][3];
   loc_rot_size_to_mat3(transform_matrix,
                        (const float[]){transform->xofs, transform->yofs},
diff --git a/source/blender/editors/transform/transform_convert_sequencer_image.c b/source/blender/editors/transform/transform_convert_sequencer_image.c
index af1c0f13c8c..833267f6d3a 100644
--- a/source/blender/editors/transform/transform_convert_sequencer_image.c
+++ b/source/blender/editors/transform/transform_convert_sequencer_image.c
@@ -60,7 +60,7 @@ static TransData *SeqToTransData(const Scene *scene,
 {
   const StripTransform *transform = seq->strip->transform;
   float origin[2];
-  SEQ_image_transform_origin_offset_get(scene, seq, origin);
+  SEQ_image_transform_origin_offset_pixelspace_get(scene, seq, origin);
   float vertex[2] = {transform->xofs + origin[0], transform->yofs + origin[1]};
 
   /* Add control vertex, so rotation and scale can be calculated. */
@@ -120,6 +120,9 @@ void createTransSeqImageData(TransInfo *t)
 
   Sequence *seq;
   SEQ_ITERATOR_FOREACH (seq, strips) {
+    /* One `Sequence` needs 3 `TransData` entries - center point placed in image origin, then 2
+     * points offset by 1 in X and Y direction respectively, so rotation and scale can be
+     * calculated from these points. */
     SeqToTransData(t->scene, seq, td++, td2d++, tdseq++, 0);
     SeqToTransData(t->scene, seq, td++, td2d++, tdseq++, 1);
     SeqToTransData(t->scene, seq, td++, td2d++, tdseq++, 2);
@@ -154,7 +157,7 @@ void recalcData_sequencer_image(TransInfo *t)
     Sequence *seq = tdseq->seq;
     StripTransform *transform = seq->strip->transform;
     float origin[2];
-    SEQ_image_transform_origin_offset_get(t->scene, seq, origin);
+    SEQ_image_transform_origin_offset_pixelspace_get(t->scene, seq, origin);
     transform->xofs = round_fl_to_int(loc[0] - origin[0]);
     transform->yofs = round_fl_to_int(loc[1] - origin[1]);
     transform->scale_x = tdseq->orig_scale_x * fabs(len_v2(handle_x));
diff --git a/source/blender/editors/transform/transform_draw_cursors.c b/source/blender/editors/transform/transform_draw_cursors.c
index 0ad96c2ea92..af1f3cb72a4 100644
--- a/source/blender/editors/transform/transform_draw_cursors.c
+++ b/source/blender/editors/transform/transform_draw_cursors.c
@@ -95,7 +95,7 @@ static void drawArrow(const uint pos_id, const enum eArrowDirection dir)
 bool transform_draw_cursor_poll(bContext *C)
 {
   ARegion *region = CTX_wm_region(C);
-  return (region && (region->regiontype == RGN_TYPE_WINDOW || region->regiontype == RGN_TYPE_PREVIEW) ) ? 1 : 0;
+  return (region && ELEM(region->regiontype, RGN_TYPE_WINDOW, RGN_TYPE_PREVIEW)) ? 1 : 0;
 }
 
 /**
diff --git a/source/blender/editors/transform/transform_gizmo_2d.c b/source/blender/editors/transform/transform_gizmo_2d.c
index 5be294990d3..92a1b95e17a 100644
--- a/source/blender/editors/transform/transform_gizmo_2d.c
+++ b/source/blender/editors/transform/transform_gizmo_2d.c
@@ -268,16 +268,15 @@ static float gizmo2d_calc_rotation(const bContext *C)
 static bool gizmo2d_calc_center(const bContext *C, float r_center[2])
 {
   ScrArea *area = CTX_wm_area(C);
+  Scene *scene = CTX_data_scene(C);
   bool has_select = false;
   zero_v2(r_center);
   if (area->spacetype == SPACE_IMAGE) {
     SpaceImage *sima = area->spacedata.first;
-    Scene *scene = CTX_data_scene(C);
     ViewLayer *view_layer = CTX_data_view_layer(C);
     ED_uvedit_center_from_pivot_ex(sima, scene, view_layer, r_center, sima->around, &has_select);
   }
   else if (area->spacetype == SPACE_SEQ) {
-    Scene *scene = CTX_data_scene(C);
     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);
@@ -292,7 +291,7 @@ static bool gizmo2d_calc_center(const bContext *C, float r_center[2])
     SEQ_ITERATOR_FOREACH (seq, strips) {
       StripTransform *transform = seq->strip->transform;
       float origin[2];
-      SEQ_image_transform_origin_offset_get(CTX_data_scene(C), seq, origin);
+      SEQ_image_transform_origin_offset_pixelspace_get(scene, seq, origin);
       r_center[0] += transform->xofs + origin[0];
       r_center[1] += transform->yofs + origin[1];
     }
@@ -332,7 +331,7 @@ static int gizmo2d_modal(bContext *C,
   return OPERATOR_RUNNING_MODAL;
 }
 
-static void gizmo2d_xform_setup(const bContext *C, wmGizmoGroup *gzgroup)
+static void gizmo2d_xform_setup(const bContext *UNUSED(C), wmGizmoGroup *gzgroup)
 {
   wmOperatorType *ot_translate = WM_operatortype_find("TRANSFORM_OT_translate", true);
   GizmoGroup2D *ggd = gizmogroup2d_init(gzgroup);
@@ -663,7 +662,7 @@ static void gizmo2d_resize_draw_prepare(const bContext *C, wmGizmoGroup *gzgroup
   }
 }
 
-static void gizmo2d_resize_setup(const bContext *C, wmGizmoGroup *gzgroup)
+static void gizmo2d_resize_setup(const bContext *UNUSED(C), wmGizmoGroup *gzgroup)
 {
 
   wmOperatorType *ot_resize = WM_operatortype_find("TRANSFORM_OT_resize", true);
@@ -806,7 +805,7 @@ static void gizmo2d_rotate_draw_prepare(const bContext *C, wmGizmoGroup *gzgroup
   WM_gizmo_set_matrix_location(gz, origin);
 }
 
-static void gizmo2d_rotate_setup(const bContext *C, wmGizmoGroup *gzgroup)
+static void gizmo2d_rotate_setup(const bContext *UNUSED(C), wmGizmoGroup *gzgroup)
 {
 
   wmOperatorType *ot_resize = WM_operatortype_find("TRANSFORM_OT_rotate", true);
diff --git a/source/blender/makesdna/DNA_sequence_types.h b/source/blender/makesdna/DNA_sequence_types.h
index 8c4436ee968..782b4ac34aa 100644
--- a/source/blender/makesdna/DNA_sequence_types.h
+++ b/source/blender/makesdna/DNA_sequence_types.h
@@ -74,6 +74,7 @@ typedef struct StripTransform {
   float scale_x;
   float scale_y;
   float rotation;
+  /** 0-1 range, use SEQ_image_transform_origin_offset_pixelspace_get to convert to pixel space. */
   float origin[2];
 } StripTransform;
 
diff --git a/source/blender/sequencer/SEQ_transform.h b/source/blender/sequencer/SEQ_transform.h
index 2a5f1d613ee..146edd7cb40 100644
--- a/source/blender/sequencer/SEQ_transform.h
+++ b/source/blender/sequencer/SEQ_transform.h
@@ -60,9 +60,9 @@ void SEQ_transform_offset_after_frame(struct Scene *scene,
                                       struct ListBase *seqbase,
                                       const int delta,
                                       const int timeline_frame);
-void SEQ_image_transform_origin_offset_get(const struct Scene *scene,
-                                           const struct Sequence *seq,
-                                           float r_origin[2]);
+void SEQ_image_transform_origin_offset_pixelspace_get(const struct Scene *scene,
+                                                      const struct Sequence *seq,
+                                                      float r_origin[2]);
 void SEQ_image_transform_final_quad_get(const struct Scene *scene,
                                         const struct Sequence *seq,
                                         float r_quad[4][2]);
diff --git a/source/blender/sequencer/intern/render.c b/source/blender/sequencer/intern/render.c
index 2081b308f6d..c0d0dad534c 100644
--- a/source/blender/sequencer/intern/render.c
+++ b/source/blender/sequencer/intern/render.c
@@ -413,7 +413,7 @@ static void sequencer_image_crop_transform_matrix(const Scene *scene,
   const float translate_x = transform->xofs * preview_scale_factor + image_center_offs_x;
   const float translate_y = transform->yofs * preview_scale_factor + image_center_offs_y;
   float origin[2];
-  SEQ_image_transform_origin_offset_get(scene, seq, origin);
+  SEQ_image_transform_origin_offset_pixelspace_get(scene, seq, origin);
   const float pivot[2] = {(in->x / 2) + origin[0], (in->y / 2) + origin[1]};
   loc_rot_size_to_mat3(r_transform_matrix,
                        (const float[]){translate_x, translate_y},
diff --git a/source/blender/sequencer/intern/strip_transform.c b/source/blender/sequencer/intern/strip_transform.c
index 2df6972b6bd..8ef73f1028f 100644
--- a/source/blender/sequencer/intern/strip_transform.c
+++ b/source/blender/sequencer/intern/strip_transform.c
@@ -429,9 +429,9 @@ void SEQ_transform_offset_after_frame(Scene *scene,
  * \param seq: Sequence to calculate image transform origin
  * \param r_origin: return value
  */
-void SEQ_image_transform_origin_offset_get(const Scene *scene,
-                                           const Sequence *seq,
-                                           float r_origin[2])
+void SEQ_image_transform_origin_offset_pixelspace_get(const Scene *scene,
+                                                      const Sequence *seq,
+                                                      float r_origin[2])
 {
   float image_size[2];
   StripElem *strip_elem = seq->strip->stripdata;
@@ -469,7 +469,7 @@ void SEQ_image_transform_final_quad_get(const Scene *scene,
                        transform->rotation,
                        (const float[]){transform->scale_x, transform->scale_y});
   float origin[2];
-  SEQ_image_transform_origin_offset_get(scene, seq, origin);
+  SEQ_image_transform_origin_offset_pixelspace_get(scene, seq, origin);
   transform_pivot_set_m3(transform_matrix, origin);
 
   r_quad[0][0] = (img_x / 2) - crop->right;



More information about the Bf-blender-cvs mailing list