Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2021-10-07 04:32:04 +0300
committerCampbell Barton <ideasman42@gmail.com>2021-10-07 19:27:55 +0300
commitd04d27b406b856396102452cab0eedf315e94a54 (patch)
tree4a881ab29123828287f83272a0ca1d03b62b4472 /source/blender/editors/transform/transform_gizmo_2d.c
parent919e513fa8f9fb4f1304ea4b752869b6d63b1608 (diff)
Sequencer: 2D cursor for the preview & transform
- Use 2D cursor in the preview space using shortcuts matching the UV editor and 3D view. - Add Cursor tool, cursor transform. - Support for cursor and bound-box pivot. - Add pivot pie menu.
Diffstat (limited to 'source/blender/editors/transform/transform_gizmo_2d.c')
-rw-r--r--source/blender/editors/transform/transform_gizmo_2d.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/source/blender/editors/transform/transform_gizmo_2d.c b/source/blender/editors/transform/transform_gizmo_2d.c
index aa4d5c03d74..b25a182926e 100644
--- a/source/blender/editors/transform/transform_gizmo_2d.c
+++ b/source/blender/editors/transform/transform_gizmo_2d.c
@@ -284,23 +284,25 @@ static bool gizmo2d_calc_center(const bContext *C, float r_center[2])
ED_uvedit_center_from_pivot_ex(sima, scene, view_layer, r_center, sima->around, &has_select);
}
else if (area->spacetype == SPACE_SEQ) {
+ SpaceSeq *sseq = area->spacedata.first;
+ const int pivot_point = scene->toolsettings->sequencer_tool_settings->pivot_point;
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);
+ has_select = SEQ_collection_len(strips) != 0;
- if (SEQ_collection_len(strips) <= 0) {
- SEQ_collection_free(strips);
- return false;
+ if (pivot_point == V3D_AROUND_CURSOR) {
+ SEQ_image_preview_unit_to_px(scene, sseq->cursor, r_center);
}
-
- has_select = true;
- Sequence *seq;
- SEQ_ITERATOR_FOREACH (seq, strips) {
- float origin[2];
- SEQ_image_transform_origin_offset_pixelspace_get(scene, seq, origin);
- add_v2_v2(r_center, origin);
+ else if (has_select) {
+ Sequence *seq;
+ SEQ_ITERATOR_FOREACH (seq, strips) {
+ float origin[2];
+ SEQ_image_transform_origin_offset_pixelspace_get(scene, seq, origin);
+ add_v2_v2(r_center, origin);
+ }
+ mul_v2_fl(r_center, 1.0f / SEQ_collection_len(strips));
}
- mul_v2_fl(r_center, 1.0f / SEQ_collection_len(strips));
SEQ_collection_free(strips);
}