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 <germano.costa@ig.com.br>2020-06-10 02:27:40 +0300
committerGermano Cavalcante <germano.costa@ig.com.br>2020-06-10 02:27:51 +0300
commit46e0ec05ef1fb75fb3e5b4a713a5302ace49e546 (patch)
tree8eff449f33050c445ee3367c941da57b8b61882e /source/blender/editors/transform/transform_convert_node.c
parent63a40ed422bc61e9cd952282a636c53a9d8f3fde (diff)
Cleanup: Move each special_aftertrans_update to their respective TransData file
Diffstat (limited to 'source/blender/editors/transform/transform_convert_node.c')
-rw-r--r--source/blender/editors/transform/transform_convert_node.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/source/blender/editors/transform/transform_convert_node.c b/source/blender/editors/transform/transform_convert_node.c
index d23a8f960c1..38db8708d0c 100644
--- a/source/blender/editors/transform/transform_convert_node.c
+++ b/source/blender/editors/transform/transform_convert_node.c
@@ -194,3 +194,39 @@ void flushTransNodes(TransInfo *t)
}
/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Special After Transform Node
+ * \{ */
+
+void special_aftertrans_update__node(bContext *C, TransInfo *t)
+{
+ struct Main *bmain = CTX_data_main(C);
+ const bool canceled = (t->state == TRANS_CANCEL);
+
+ SpaceNode *snode = (SpaceNode *)t->area->spacedata.first;
+ if (canceled && t->remove_on_cancel) {
+ /* remove selected nodes on cancel */
+ bNodeTree *ntree = snode->edittree;
+ if (ntree) {
+ bNode *node, *node_next;
+ for (node = ntree->nodes.first; node; node = node_next) {
+ node_next = node->next;
+ if (node->flag & NODE_SELECT) {
+ nodeRemoveNode(bmain, ntree, node, true);
+ }
+ }
+ ntreeUpdateTree(bmain, ntree);
+ }
+ }
+
+ if (!canceled) {
+ ED_node_post_apply_transform(C, snode->edittree);
+ ED_node_link_insert(bmain, t->area);
+ }
+
+ /* clear link line */
+ ED_node_link_intersect_test(t->area, 0);
+}
+
+/** \} */