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:
authorGermano Cavalcante <mano-wii>2021-11-17 03:05:30 +0300
committerGermano Cavalcante <germano.costa@ig.com.br>2021-11-18 19:52:39 +0300
commit2a9cfdac7e126e37afb82e15a131717041f3d2f8 (patch)
treeff05a5c68e03f62c11f59f0abffe4ca4c24584d0 /source/blender/editors/transform/transform_convert_node.c
parentc7f9a782aafcdd08868504584b2621afcf1356c2 (diff)
Revert "Revert "Allow navigating while transforming""
This reverts commit 5e6fdaa07fff907e02b36813ccde0702bad4fb4d.
Diffstat (limited to 'source/blender/editors/transform/transform_convert_node.c')
-rw-r--r--source/blender/editors/transform/transform_convert_node.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/source/blender/editors/transform/transform_convert_node.c b/source/blender/editors/transform/transform_convert_node.c
index da11666d445..10c0ee48749 100644
--- a/source/blender/editors/transform/transform_convert_node.c
+++ b/source/blender/editors/transform/transform_convert_node.c
@@ -164,6 +164,7 @@ void createTransNodeData(TransInfo *t)
void flushTransNodes(TransInfo *t)
{
const float dpi_fac = UI_DPI_FAC;
+ float offset[2] = {0.0f, 0.0f};
View2DEdgePanData *customdata = (View2DEdgePanData *)t->custom.type.data;
@@ -177,14 +178,16 @@ void flushTransNodes(TransInfo *t)
t->region->winrct.xmin + t->mval[0],
t->region->winrct.ymin + t->mval[1],
};
+ const rctf rect = t->region->v2d.cur;
UI_view2d_edge_pan_apply(t->context, customdata, xy);
+ if (!BLI_rctf_compare(&rect, &t->region->v2d.cur, FLT_EPSILON)) {
+ /* Additional offset due to change in view2D rect. */
+ BLI_rctf_transform_pt_v(&t->region->v2d.cur, &rect, offset, offset);
+ t->flag |= T_VIEW_DIRTY;
+ }
}
}
- /* Initial and current view2D rects for additional transform due to view panning and zooming */
- const rctf *rect_src = &customdata->initial_rect;
- const rctf *rect_dst = &t->region->v2d.cur;
-
FOREACH_TRANS_DATA_CONTAINER (t, tc) {
applyGridAbsolute(t);
@@ -195,10 +198,7 @@ void flushTransNodes(TransInfo *t)
bNode *node = td->extra;
float loc[2];
- copy_v2_v2(loc, td2d->loc);
-
- /* additional offset due to change in view2D rect */
- BLI_rctf_transform_pt_v(rect_dst, rect_src, loc, loc);
+ add_v2_v2v2(loc, td2d->loc, offset);
#ifdef USE_NODE_CENTER
loc[0] -= 0.5f * BLI_rctf_size_x(&node->totr);