1 /**
2 A custom global visual shader graph expression written in Godot Shading Language.
3 
4 Copyright:
5 Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur.  
6 Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md)  
7 Copyright (c) 2017-2018 Godot-D contributors  
8 
9 License: $(LINK2 https://opensource.org/licenses/MIT, MIT License)
10 
11 
12 */
13 module godot.visualshadernodeglobalexpression;
14 import std.meta : AliasSeq, staticIndexOf;
15 import std.traits : Unqual;
16 import godot.d.traits;
17 import godot.core;
18 import godot.c;
19 import godot.d.bind;
20 import godot.d.reference;
21 import godot.globalenums;
22 import godot.object;
23 import godot.classdb;
24 import godot.visualshadernodeexpression;
25 import godot.visualshadernodegroupbase;
26 /**
27 A custom global visual shader graph expression written in Godot Shading Language.
28 
29 Custom Godot Shader Language expression, which is placed on top of the generated shader. You can place various function definitions inside to call later in $(D VisualShaderNodeExpression)s (which are injected in the main shader functions). You can also declare varyings, uniforms and global constants.
30 */
31 @GodotBaseClass struct VisualShaderNodeGlobalExpression
32 {
33 	package(godot) enum string _GODOT_internal_name = "VisualShaderNodeGlobalExpression";
34 public:
35 @nogc nothrow:
36 	union { /** */ godot_object _godot_object; /** */ VisualShaderNodeExpression _GODOT_base; }
37 	alias _GODOT_base this;
38 	alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses);
39 	package(godot) __gshared bool _classBindingInitialized = false;
40 	package(godot) static struct GDNativeClassBinding
41 	{
42 		__gshared:
43 	}
44 	/// 
45 	pragma(inline, true) bool opEquals(in VisualShaderNodeGlobalExpression other) const
46 	{ return _godot_object.ptr is other._godot_object.ptr; }
47 	/// 
48 	pragma(inline, true) typeof(null) opAssign(typeof(null) n)
49 	{ _godot_object.ptr = n; return null; }
50 	/// 
51 	pragma(inline, true) bool opEquals(typeof(null) n) const
52 	{ return _godot_object.ptr is n; }
53 	/// 
54 	size_t toHash() const @trusted { return cast(size_t)_godot_object.ptr; }
55 	mixin baseCasts;
56 	/// Construct a new instance of VisualShaderNodeGlobalExpression.
57 	/// Note: use `memnew!VisualShaderNodeGlobalExpression` instead.
58 	static VisualShaderNodeGlobalExpression _new()
59 	{
60 		static godot_class_constructor constructor;
61 		if(constructor is null) constructor = _godot_api.godot_get_class_constructor("VisualShaderNodeGlobalExpression");
62 		if(constructor is null) return typeof(this).init;
63 		return cast(VisualShaderNodeGlobalExpression)(constructor());
64 	}
65 	@disable new(size_t s);
66 }