1 /**
2 
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.visualshadernode;
14 import std.meta : AliasSeq, staticIndexOf;
15 import std.traits : Unqual;
16 import godot.d.meta;
17 import godot.core;
18 import godot.c;
19 import godot.d.bind;
20 import godot.d.reference;
21 import godot.object;
22 import godot.resource;
23 import godot.reference;
24 /**
25 
26 */
27 @GodotBaseClass struct VisualShaderNode
28 {
29 	enum string _GODOT_internal_name = "VisualShaderNode";
30 public:
31 @nogc nothrow:
32 	union { godot_object _godot_object; Resource _GODOT_base; }
33 	alias _GODOT_base this;
34 	alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses);
35 	package(godot) __gshared bool _classBindingInitialized = false;
36 	package(godot) static struct _classBinding
37 	{
38 		__gshared:
39 		@GodotName("set_output_port_for_preview") GodotMethod!(void, long) setOutputPortForPreview;
40 		@GodotName("get_output_port_for_preview") GodotMethod!(long) getOutputPortForPreview;
41 		@GodotName("set_input_port_default_value") GodotMethod!(void, long, Variant) setInputPortDefaultValue;
42 		@GodotName("get_input_port_default_value") GodotMethod!(Variant, long) getInputPortDefaultValue;
43 		@GodotName("_set_default_input_values") GodotMethod!(void, Array) _setDefaultInputValues;
44 		@GodotName("_get_default_input_values") GodotMethod!(Array) _getDefaultInputValues;
45 	}
46 	bool opEquals(in VisualShaderNode other) const { return _godot_object.ptr is other._godot_object.ptr; }
47 	VisualShaderNode opAssign(T : typeof(null))(T n) { _godot_object.ptr = null; }
48 	bool opEquals(typeof(null) n) const { return _godot_object.ptr is null; }
49 	mixin baseCasts;
50 	static VisualShaderNode _new()
51 	{
52 		static godot_class_constructor constructor;
53 		if(constructor is null) constructor = _godot_api.godot_get_class_constructor("VisualShaderNode");
54 		if(constructor is null) return typeof(this).init;
55 		return cast(VisualShaderNode)(constructor());
56 	}
57 	@disable new(size_t s);
58 	/**
59 	
60 	*/
61 	void setOutputPortForPreview(in long port)
62 	{
63 		checkClassBinding!(typeof(this))();
64 		ptrcall!(void)(_classBinding.setOutputPortForPreview, _godot_object, port);
65 	}
66 	/**
67 	
68 	*/
69 	long getOutputPortForPreview() const
70 	{
71 		checkClassBinding!(typeof(this))();
72 		return ptrcall!(long)(_classBinding.getOutputPortForPreview, _godot_object);
73 	}
74 	/**
75 	
76 	*/
77 	void setInputPortDefaultValue(VariantArg1)(in long port, in VariantArg1 value)
78 	{
79 		checkClassBinding!(typeof(this))();
80 		ptrcall!(void)(_classBinding.setInputPortDefaultValue, _godot_object, port, value);
81 	}
82 	/**
83 	
84 	*/
85 	Variant getInputPortDefaultValue(in long port) const
86 	{
87 		checkClassBinding!(typeof(this))();
88 		return ptrcall!(Variant)(_classBinding.getInputPortDefaultValue, _godot_object, port);
89 	}
90 	/**
91 	
92 	*/
93 	void _setDefaultInputValues(in Array values)
94 	{
95 		Array _GODOT_args = Array.empty_array;
96 		_GODOT_args.append(values);
97 		String _GODOT_method_name = String("_set_default_input_values");
98 		this.callv(_GODOT_method_name, _GODOT_args);
99 	}
100 	/**
101 	
102 	*/
103 	Array _getDefaultInputValues() const
104 	{
105 		Array _GODOT_args = Array.empty_array;
106 		String _GODOT_method_name = String("_get_default_input_values");
107 		return this.callv(_GODOT_method_name, _GODOT_args).as!(RefOrT!Array);
108 	}
109 	/**
110 	
111 	*/
112 	@property long outputPortForPreview()
113 	{
114 		return getOutputPortForPreview();
115 	}
116 	/// ditto
117 	@property void outputPortForPreview(long v)
118 	{
119 		setOutputPortForPreview(v);
120 	}
121 	/**
122 	
123 	*/
124 	@property Array defaultInputValues()
125 	{
126 		return _getDefaultInputValues();
127 	}
128 	/// ditto
129 	@property void defaultInputValues(Array v)
130 	{
131 		_setDefaultInputValues(v);
132 	}
133 }