aboutsummaryrefslogtreecommitdiff
path: root/tools/editor/plugins/shader_graph_editor_plugin.cpp
diff options
context:
space:
mode:
authorCarl Olsson2015-02-02 21:34:47 +1000
committerCarl Olsson2015-02-02 21:34:47 +1000
commitee44664b2a14c0878f2e137dc4b6a1fbf4013eab (patch)
tree1a1e4712f96c84a2457200a6047030b72d7981d1 /tools/editor/plugins/shader_graph_editor_plugin.cpp
parentc5bf43f6eb8aa9815362b1f771396e68c7f26f0f (diff)
parent67d357191ff74b2cfc80015941363a97e7ee19fd (diff)
downloadgodot-ee44664b2a14c0878f2e137dc4b6a1fbf4013eab.tar.gz
godot-ee44664b2a14c0878f2e137dc4b6a1fbf4013eab.tar.zst
godot-ee44664b2a14c0878f2e137dc4b6a1fbf4013eab.zip
Merge branch 'master' of https://github.com/okamstudio/godot
Diffstat (limited to 'tools/editor/plugins/shader_graph_editor_plugin.cpp')
-rw-r--r--tools/editor/plugins/shader_graph_editor_plugin.cpp26
1 files changed, 20 insertions, 6 deletions
diff --git a/tools/editor/plugins/shader_graph_editor_plugin.cpp b/tools/editor/plugins/shader_graph_editor_plugin.cpp
index 39508464c..508e8b4cb 100644
--- a/tools/editor/plugins/shader_graph_editor_plugin.cpp
+++ b/tools/editor/plugins/shader_graph_editor_plugin.cpp
@@ -33,7 +33,7 @@
#include "scene/gui/panel.h"
#include "spatial_editor_plugin.h"
#include "os/keyboard.h"
-
+#include "canvas_item_editor_plugin.h"
void GraphColorRampEdit::_input_event(const InputEvent& p_event) {
@@ -2234,6 +2234,9 @@ void ShaderGraphEditor::_notification(int p_what) {
if (i==ShaderGraph::NODE_OUTPUT)
continue;
+ if (!_2d && i==ShaderGraph::NODE_DEFAULT_TEXTURE)
+ continue;
+
String nn = node_names[i];
String ic = nn.get_slice(":",0);
String v = nn.get_slice(":",1);
@@ -2297,7 +2300,8 @@ const char* ShaderGraphEditor::node_names[ShaderGraph::NODE_TYPE_MAX]={
};
-ShaderGraphEditor::ShaderGraphEditor() {
+ShaderGraphEditor::ShaderGraphEditor(bool p_2d) {
+ _2d=p_2d;
HBoxContainer *hbc = memnew( HBoxContainer );
menu = memnew( MenuButton );
@@ -2339,7 +2343,13 @@ void ShaderGraphEditorPlugin::edit(Object *p_object) {
bool ShaderGraphEditorPlugin::handles(Object *p_object) const {
- return p_object->is_type("ShaderGraph");
+ ShaderGraph *shader=p_object->cast_to<ShaderGraph>();
+ if (!shader)
+ return false;
+ if (_2d)
+ return shader->get_mode()==Shader::MODE_CANVAS_ITEM;
+ else
+ return shader->get_mode()==Shader::MODE_MATERIAL;
}
void ShaderGraphEditorPlugin::make_visible(bool p_visible) {
@@ -2353,12 +2363,16 @@ void ShaderGraphEditorPlugin::make_visible(bool p_visible) {
}
-ShaderGraphEditorPlugin::ShaderGraphEditorPlugin(EditorNode *p_node) {
+ShaderGraphEditorPlugin::ShaderGraphEditorPlugin(EditorNode *p_node, bool p_2d) {
+ _2d=p_2d;
editor=p_node;
- shader_editor = memnew( ShaderGraphEditor );
+ shader_editor = memnew( ShaderGraphEditor(p_2d) );
shader_editor->hide();
- SpatialEditor::get_singleton()->get_shader_split()->add_child(shader_editor);
+ if (p_2d)
+ CanvasItemEditor::get_singleton()->get_bottom_split()->add_child(shader_editor);
+ else
+ SpatialEditor::get_singleton()->get_shader_split()->add_child(shader_editor);
// editor->get_viewport()->add_child(shader_editor);