Browse Source

Core: Bind InputEventGesture events.

Andreas Haas 7 years ago
parent
commit
c76a9b99b0
3 changed files with 36 additions and 0 deletions
  1. 24 0
      core/os/input_event.cpp
  2. 9 0
      core/os/input_event.h
  3. 3 0
      core/register_core_types.cpp

+ 24 - 0
core/os/input_event.cpp

@@ -939,6 +939,14 @@ void InputEventGesture::set_position(const Vector2 &p_pos) {
 	pos = p_pos;
 }
 
+void InputEventGesture::_bind_methods() {
+
+	ClassDB::bind_method(D_METHOD("set_position", "position"), &InputEventGesture::set_position);
+	ClassDB::bind_method(D_METHOD("get_position"), &InputEventGesture::get_position);
+
+	ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "position"), "set_position", "get_position");
+}
+
 Vector2 InputEventGesture::get_position() const {
 
 	return pos;
@@ -970,6 +978,14 @@ Ref<InputEvent> InputEventMagnifyGesture::xformed_by(const Transform2D &p_xform,
 	return ev;
 }
 
+void InputEventMagnifyGesture::_bind_methods() {
+
+	ClassDB::bind_method(D_METHOD("set_factor", "factor"), &InputEventMagnifyGesture::set_factor);
+	ClassDB::bind_method(D_METHOD("get_factor"), &InputEventMagnifyGesture::get_factor);
+
+	ADD_PROPERTY(PropertyInfo(Variant::REAL, "factor"), "set_factor", "get_factor");
+}
+
 InputEventMagnifyGesture::InputEventMagnifyGesture() {
 
 	factor = 1.0;
@@ -1000,6 +1016,14 @@ Ref<InputEvent> InputEventPanGesture::xformed_by(const Transform2D &p_xform, con
 	return ev;
 }
 
+void InputEventPanGesture::_bind_methods() {
+
+	ClassDB::bind_method(D_METHOD("set_delta", "delta"), &InputEventPanGesture::set_delta);
+	ClassDB::bind_method(D_METHOD("get_delta"), &InputEventPanGesture::get_delta);
+
+	ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "delta"), "set_delta", "get_delta");
+}
+
 InputEventPanGesture::InputEventPanGesture() {
 
 	delta = Vector2(0, 0);

+ 9 - 0
core/os/input_event.h

@@ -476,6 +476,9 @@ class InputEventGesture : public InputEventWithModifiers {
 
 	Vector2 pos;
 
+protected:
+	static void _bind_methods();
+
 public:
 	void set_position(const Vector2 &p_pos);
 	Vector2 get_position() const;
@@ -486,6 +489,9 @@ class InputEventMagnifyGesture : public InputEventGesture {
 	GDCLASS(InputEventMagnifyGesture, InputEventGesture)
 	real_t factor;
 
+protected:
+	static void _bind_methods();
+
 public:
 	void set_factor(real_t p_factor);
 	real_t get_factor() const;
@@ -500,6 +506,9 @@ class InputEventPanGesture : public InputEventGesture {
 	GDCLASS(InputEventPanGesture, InputEventGesture)
 	Vector2 delta;
 
+protected:
+	static void _bind_methods();
+
 public:
 	void set_delta(const Vector2 &p_delta);
 	Vector2 get_delta() const;

+ 3 - 0
core/register_core_types.cpp

@@ -129,6 +129,9 @@ void register_core_types() {
 	ClassDB::register_class<InputEventScreenDrag>();
 	ClassDB::register_class<InputEventScreenTouch>();
 	ClassDB::register_class<InputEventAction>();
+	ClassDB::register_virtual_class<InputEventGesture>();
+	ClassDB::register_class<InputEventMagnifyGesture>();
+	ClassDB::register_class<InputEventPanGesture>();
 
 	ClassDB::register_class<FuncRef>();
 	ClassDB::register_virtual_class<StreamPeer>();