summaryrefslogtreecommitdiff
path: root/modules/dlscript/godot/godot_vector2.h
diff options
context:
space:
mode:
authorKarroffel <therzog@mail.de>2017-04-03 16:11:38 +0200
committerKarroffel <therzog@mail.de>2017-04-03 17:20:11 +0200
commitfd553087867187220d4f6b8217854dd8e9be2667 (patch)
treeba4c8b2611b1a574056e2f4ae694f18b737ee0e6 /modules/dlscript/godot/godot_vector2.h
parent67f59bc2d9e2ce5faa9507017d49827753981e1e (diff)
added dlscript module
This module was written by bojidar-bg and me, with the help of ClikCode and touilleMan. This adds a module to Godot that enables the use of dynamic libraries as a source for scripts. That also allows third party libraries to be linked to Godot more easily and without creating modules. For a readme see https://github.com/GodotNativeTools/godot_headers/blob/master/README.md
Diffstat (limited to 'modules/dlscript/godot/godot_vector2.h')
-rw-r--r--modules/dlscript/godot/godot_vector2.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/modules/dlscript/godot/godot_vector2.h b/modules/dlscript/godot/godot_vector2.h
new file mode 100644
index 0000000000..63da367e4f
--- /dev/null
+++ b/modules/dlscript/godot/godot_vector2.h
@@ -0,0 +1,78 @@
+#ifndef GODOT_VECTOR2_H
+#define GODOT_VECTOR2_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdint.h>
+
+#ifndef GODOT_CORE_API_GODOT_VECTOR2_TYPE_DEFINED
+#define GODOT_CORE_API_GODOT_VECTOR2_TYPE_DEFINED
+typedef struct godot_vector2 {
+ uint8_t _dont_touch_that[8];
+} godot_vector2;
+#endif
+
+#include "../godot.h"
+
+void GDAPI godot_vector2_new(godot_vector2 *p_v, const godot_real p_x, const godot_real p_y);
+
+void GDAPI godot_vector2_set_x(godot_vector2 *p_v, const godot_real p_x);
+void GDAPI godot_vector2_set_y(godot_vector2 *p_v, const godot_real p_y);
+godot_real GDAPI godot_vector2_get_x(const godot_vector2 *p_v);
+godot_real GDAPI godot_vector2_get_y(const godot_vector2 *p_v);
+
+void GDAPI godot_vector2_normalize(godot_vector2 *p_v);
+void GDAPI godot_vector2_normalized(godot_vector2 *p_dest, const godot_vector2 *p_src);
+
+godot_real GDAPI godot_vector2_length(const godot_vector2 *p_v);
+godot_real GDAPI godot_vector2_length_squared(const godot_vector2 *p_v);
+
+godot_real GDAPI godot_vector2_distance_to(const godot_vector2 *p_a, const godot_vector2 *p_b);
+godot_real GDAPI godot_vector2_distance_squared_to(const godot_vector2 *p_a, const godot_vector2 *p_b);
+
+// @Incomplete
+/*
+ * missing:
+ *
+ * angle_to
+ * angle_to_point
+ * dot
+ * cross_vector
+ * cross_scalar
+ * project
+ * plane_project
+ * clamped
+ * linear_interpolate
+ * cubic_interpolate
+ * cubic_interpolate_soft
+ * slide
+ * reflect
+ * angle
+ * abs
+ * rotated
+ * tangent
+ * floor
+ * snapped
+ * aspect
+ *
+ *
+ * to_string
+ */
+
+void GDAPI godot_vector2_operator_add(godot_vector2 *p_dest, const godot_vector2 *p_a, const godot_vector2 *p_b);
+void GDAPI godot_vector2_operator_subtract(godot_vector2 *p_dest, const godot_vector2 *p_a, const godot_vector2 *p_b);
+void GDAPI godot_vector2_operator_multiply_vector(godot_vector2 *p_dest, const godot_vector2 *p_a, const godot_vector2 *p_b);
+void GDAPI godot_vector2_operator_multiply_scalar(godot_vector2 *p_dest, const godot_vector2 *p_a, const godot_real p_b);
+void GDAPI godot_vector2_operator_divide_vector(godot_vector2 *p_dest, const godot_vector2 *p_a, const godot_vector2 *p_b);
+void GDAPI godot_vector2_operator_divide_scalar(godot_vector2 *p_dest, const godot_vector2 *p_a, const godot_real p_b);
+
+godot_bool GDAPI godot_vector2_operator_equal(const godot_vector2 *p_a, const godot_vector2 *p_b);
+godot_bool GDAPI godot_vector2_operator_less(const godot_vector2 *p_a, const godot_vector2 *p_b);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // GODOT_VECTOR2_H