summaryrefslogtreecommitdiff
path: root/editor/plugins/visual_shader_editor_plugin.h
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2019-07-31 11:56:01 +0200
committerGitHub <noreply@github.com>2019-07-31 11:56:01 +0200
commitd66461e85a123a7fbc2d2fef7029d80efec33d71 (patch)
tree8b72fd359264c0643fef96c41dbda5036ef45e5e /editor/plugins/visual_shader_editor_plugin.h
parentf34998023da5d26543e34e0af0cbecbd062c54ac (diff)
parentf70450680728c3e7b986b4f63733605b6f8cb3f6 (diff)
Merge pull request #30972 from Chaosus/vs_copy_paste
Implement copy/paste in visual shaders
Diffstat (limited to 'editor/plugins/visual_shader_editor_plugin.h')
-rw-r--r--editor/plugins/visual_shader_editor_plugin.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/editor/plugins/visual_shader_editor_plugin.h b/editor/plugins/visual_shader_editor_plugin.h
index 100bc53d00..d396243bf3 100644
--- a/editor/plugins/visual_shader_editor_plugin.h
+++ b/editor/plugins/visual_shader_editor_plugin.h
@@ -176,8 +176,21 @@ class VisualShaderEditor : public VBoxContainer {
void _port_name_focus_out(Object *line_edit, int p_node_id, int p_port_id, bool p_output);
+ void _dup_copy_nodes(int p_type, List<int> &r_nodes, Set<int> &r_excluded);
+ void _dup_update_excluded(int p_type, Set<int> &r_excluded);
+ void _dup_paste_nodes(int p_type, List<int> &r_nodes, Set<int> &r_excluded, const Vector2 &p_offset, bool p_select);
+
void _duplicate_nodes();
+ Vector2 selection_center;
+ int copy_type; // shader type
+ List<int> copy_nodes_buffer;
+ Set<int> copy_nodes_excluded_buffer;
+
+ void _clear_buffer();
+ void _copy_nodes();
+ void _paste_nodes();
+
Vector<Ref<VisualShaderNodePlugin> > plugins;
void _mode_selected(int p_id);