summaryrefslogtreecommitdiff
path: root/scene/resources/visual_shader.h
diff options
context:
space:
mode:
Diffstat (limited to 'scene/resources/visual_shader.h')
-rw-r--r--scene/resources/visual_shader.h20
1 files changed, 13 insertions, 7 deletions
diff --git a/scene/resources/visual_shader.h b/scene/resources/visual_shader.h
index 838c2c618d..83db51b1b0 100644
--- a/scene/resources/visual_shader.h
+++ b/scene/resources/visual_shader.h
@@ -39,7 +39,8 @@ class VisualShaderNodeUniform;
class VisualShaderNode;
class VisualShader : public Shader {
- GDCLASS(VisualShader, Shader)
+ GDCLASS(VisualShader, Shader);
+
public:
enum Type {
TYPE_VERTEX,
@@ -137,6 +138,7 @@ public:
Error connect_nodes(Type p_type, int p_from_node, int p_from_port, int p_to_node, int p_to_port);
void disconnect_nodes(Type p_type, int p_from_node, int p_from_port, int p_to_node, int p_to_port);
void connect_nodes_forced(Type p_type, int p_from_node, int p_from_port, int p_to_node, int p_to_port);
+ bool is_port_types_compatible(int p_a, int p_b) const;
void rebuild();
void get_node_connections(Type p_type, List<Connection> *r_connections) const;
@@ -163,7 +165,7 @@ VARIANT_ENUM_CAST(VisualShader::Type)
///
class VisualShaderNode : public Resource {
- GDCLASS(VisualShaderNode, Resource)
+ GDCLASS(VisualShaderNode, Resource);
int port_preview;
@@ -215,7 +217,7 @@ public:
/////
class VisualShaderNodeInput : public VisualShaderNode {
- GDCLASS(VisualShaderNodeInput, VisualShaderNode)
+ GDCLASS(VisualShaderNodeInput, VisualShaderNode);
friend class VisualShader;
VisualShader::Type shader_type;
@@ -268,7 +270,8 @@ public:
///
class VisualShaderNodeOutput : public VisualShaderNode {
- GDCLASS(VisualShaderNodeOutput, VisualShaderNode)
+ GDCLASS(VisualShaderNodeOutput, VisualShaderNode);
+
public:
friend class VisualShader;
VisualShader::Type shader_type;
@@ -304,7 +307,7 @@ public:
};
class VisualShaderNodeUniform : public VisualShaderNode {
- GDCLASS(VisualShaderNodeUniform, VisualShaderNode)
+ GDCLASS(VisualShaderNodeUniform, VisualShaderNode);
String uniform_name;
@@ -319,7 +322,8 @@ public:
};
class VisualShaderNodeGroupBase : public VisualShaderNode {
- GDCLASS(VisualShaderNodeGroupBase, VisualShaderNode)
+ GDCLASS(VisualShaderNodeGroupBase, VisualShaderNode);
+
private:
void _apply_port_changes();
@@ -352,6 +356,8 @@ public:
void set_outputs(const String &p_outputs);
String get_outputs() const;
+ bool is_valid_port_name(const String &p_name) const;
+
void add_input_port(int p_id, int p_type, const String &p_name);
void remove_input_port(int p_id);
virtual int get_input_port_count() const;
@@ -386,7 +392,7 @@ public:
};
class VisualShaderNodeExpression : public VisualShaderNodeGroupBase {
- GDCLASS(VisualShaderNodeExpression, VisualShaderNodeGroupBase)
+ GDCLASS(VisualShaderNodeExpression, VisualShaderNodeGroupBase);
private:
String expression;