Implement copy/paste in visual shaders

This commit is contained in:
Chaosus
2019-07-12 20:36:33 +03:00
parent dfa324eb8e
commit f704506807
4 changed files with 152 additions and 28 deletions

View File

@ -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);