From 3abe6ae2811cc97d93063252b1312d9d4f91d06f Mon Sep 17 00:00:00 2001 From: Kanabenki Date: Sat, 6 Feb 2021 21:39:35 +0100 Subject: [PATCH] Snap VisualScript comment to grid when resizing (cherry picked from commit 07fb7f9888126d189476ec9a6272447b7c9748ac) --- modules/visual_script/visual_script_editor.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/modules/visual_script/visual_script_editor.cpp b/modules/visual_script/visual_script_editor.cpp index 5d18d961ab1..7b3496ba509 100644 --- a/modules/visual_script/visual_script_editor.cpp +++ b/modules/visual_script/visual_script_editor.cpp @@ -4031,16 +4031,25 @@ void VisualScriptEditor::_comment_node_resized(const Vector2 &p_new_size, int p_ if (!gn) return; + Vector2 new_size = p_new_size; + if (graph->is_using_snap()) { + Vector2 snap = Vector2(graph->get_snap(), graph->get_snap()); + Vector2 min_size = (gn->get_minimum_size() + (snap * 0.5)).snapped(snap); + new_size = new_size.snapped(snap); + new_size.x = MAX(new_size.x, min_size.x); + new_size.y = MAX(new_size.y, min_size.y); + } + updating_graph = true; graph->set_block_minimum_size_adjust(true); //faster resize undo_redo->create_action(TTR("Resize Comment"), UndoRedo::MERGE_ENDS); - undo_redo->add_do_method(vsc.ptr(), "set_size", p_new_size / EDSCALE); + undo_redo->add_do_method(vsc.ptr(), "set_size", new_size / EDSCALE); undo_redo->add_undo_method(vsc.ptr(), "set_size", vsc->get_size()); undo_redo->commit_action(); - gn->set_custom_minimum_size(p_new_size); + gn->set_custom_minimum_size(new_size); gn->set_size(Size2(1, 1)); graph->set_block_minimum_size_adjust(false); updating_graph = false;