remove InputEventPanGesture and InputEventMagnifyGesture

This commit is contained in:
Jérémy Zurcher 2021-11-10 19:52:44 +01:00
parent 8f84b4b3ad
commit ea14efef20
22 changed files with 38 additions and 183 deletions

View file

@ -1372,87 +1372,6 @@ void InputEventGesture::_bind_methods() {
///////////////////////////////////
void InputEventMagnifyGesture::set_factor(real_t p_factor) {
factor = p_factor;
}
real_t InputEventMagnifyGesture::get_factor() const {
return factor;
}
Ref<InputEvent> InputEventMagnifyGesture::xformed_by(const Transform2D &p_xform, const Vector2 &p_local_ofs) const {
Ref<InputEventMagnifyGesture> ev;
ev.instantiate();
ev->set_device(get_device());
ev->set_window_id(get_window_id());
ev->set_modifiers_from_event(this);
ev->set_position(p_xform.xform(get_position() + p_local_ofs));
ev->set_factor(get_factor());
return ev;
}
String InputEventMagnifyGesture::as_text() const {
return vformat(RTR("Magnify Gesture at (%s) with factor %s"), String(get_position()), rtos(get_factor()));
}
String InputEventMagnifyGesture::to_string() {
return vformat("InputEventMagnifyGesture: factor=%.2f, position=(%s)", factor, String(get_position()));
}
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::FLOAT, "factor"), "set_factor", "get_factor");
}
///////////////////////////////////
void InputEventPanGesture::set_delta(const Vector2 &p_delta) {
delta = p_delta;
}
Vector2 InputEventPanGesture::get_delta() const {
return delta;
}
Ref<InputEvent> InputEventPanGesture::xformed_by(const Transform2D &p_xform, const Vector2 &p_local_ofs) const {
Ref<InputEventPanGesture> ev;
ev.instantiate();
ev->set_device(get_device());
ev->set_window_id(get_window_id());
ev->set_modifiers_from_event(this);
ev->set_position(p_xform.xform(get_position() + p_local_ofs));
ev->set_delta(get_delta());
ev->set_touches(get_touches());
return ev;
}
String InputEventPanGesture::as_text() const {
return vformat(RTR("Pan Gesture at (%s) with delta (%s)"), String(get_position()), String(get_delta()));
}
String InputEventPanGesture::to_string() {
return vformat("InputEventPanGesture: delta=(%s), position=(%s)", String(get_delta()), String(get_position()));
}
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");
}
///////////////////////////////////
void InputEventGesturePan::set_relative(const Vector2 &p_relative) {
relative = p_relative;
}

View file

@ -464,42 +464,6 @@ public:
int get_touches() const;
};
class InputEventMagnifyGesture : public InputEventGesture {
GDCLASS(InputEventMagnifyGesture, InputEventGesture);
real_t factor = 1.0;
protected:
static void _bind_methods();
public:
void set_factor(real_t p_factor);
real_t get_factor() const;
virtual Ref<InputEvent> xformed_by(const Transform2D &p_xform, const Vector2 &p_local_ofs = Vector2()) const override;
virtual String as_text() const override;
virtual String to_string() override;
InputEventMagnifyGesture() {}
};
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;
virtual Ref<InputEvent> xformed_by(const Transform2D &p_xform, const Vector2 &p_local_ofs = Vector2()) const override;
virtual String as_text() const override;
virtual String to_string() override;
InputEventPanGesture() {}
};
class InputEventGesturePan : public InputEventGesture {
GDCLASS(InputEventGesturePan, InputEventGesture);
Vector2 relative;

View file

@ -161,8 +161,6 @@ void register_core_types() {
GDREGISTER_CLASS(InputEventScreenTouch);
GDREGISTER_CLASS(InputEventAction);
GDREGISTER_VIRTUAL_CLASS(InputEventGesture);
GDREGISTER_CLASS(InputEventMagnifyGesture);
GDREGISTER_CLASS(InputEventPanGesture);
GDREGISTER_CLASS(InputEventGesturePan);
GDREGISTER_CLASS(InputEventGesturePinch);
GDREGISTER_CLASS(InputEventGestureTwist);

View file

@ -96,7 +96,7 @@
<argument index="0" name="xform" type="Transform2D" />
<argument index="1" name="local_ofs" type="Vector2" default="Vector2(0, 0)" />
<description>
Returns a copy of the given input event which has been offset by [code]local_ofs[/code] and transformed by [code]xform[/code]. Relevant for events of type [InputEventMouseButton], [InputEventMouseMotion], [InputEventScreenTouch], [InputEventScreenDrag], [InputEventMagnifyGesture], [InputEventPanGesture], [InputEventGesturePan], [InputEventGesturePinch] and [InputEventGestureTwist].
Returns a copy of the given input event which has been offset by [code]local_ofs[/code] and transformed by [code]xform[/code]. Relevant for events of type [InputEventMouseButton], [InputEventMouseMotion], [InputEventScreenTouch], [InputEventScreenDrag], [InputEventGesturePan], [InputEventGesturePinch] and [InputEventGestureTwist].
</description>
</method>
</methods>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="InputEventMagnifyGesture" inherits="InputEventGesture" version="4.0">
<brief_description>
</brief_description>
<description>
</description>
<tutorials>
</tutorials>
<members>
<member name="factor" type="float" setter="set_factor" getter="get_factor" default="1.0">
</member>
</members>
</class>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="InputEventPanGesture" inherits="InputEventGesture" version="4.0">
<brief_description>
</brief_description>
<description>
</description>
<tutorials>
</tutorials>
<members>
<member name="delta" type="Vector2" setter="set_delta" getter="get_delta" default="Vector2(0, 0)">
</member>
</members>
</class>

View file

@ -774,10 +774,10 @@ void CodeTextEditor::_text_editor_gui_input(const Ref<InputEvent> &p_event) {
}
}
Ref<InputEventMagnifyGesture> magnify_gesture = p_event;
if (magnify_gesture.is_valid()) {
Ref<InputEventGesturePinch> pinch_gesture = p_event;
if (pinch_gesture.is_valid()) {
font_size = text_editor->get_theme_font_size(SNAME("font_size"));
font_size *= powf(magnify_gesture->get_factor(), 0.25);
font_size *= powf(pinch_gesture->get_factor(), 0.25);
_add_font_size((int)font_size - text_editor->get_theme_font_size(SNAME("font_size")));
return;

View file

@ -387,7 +387,7 @@ void AnimationNodeStateMachineEditor::_state_machine_gui_input(const Ref<InputEv
}
}
Ref<InputEventPanGesture> pan_gesture = p_event;
Ref<InputEventGesturePan> pan_gesture = p_event;
if (pan_gesture.is_valid()) {
h_scroll->set_value(h_scroll->get_value() + h_scroll->get_page() * pan_gesture->get_delta().x / 8);
v_scroll->set_value(v_scroll->get_value() + v_scroll->get_page() * pan_gesture->get_delta().y / 8);

View file

@ -1254,14 +1254,14 @@ bool CanvasItemEditor::_gui_input_zoom_or_pan(const Ref<InputEvent> &p_event, bo
}
}
Ref<InputEventMagnifyGesture> magnify_gesture = p_event;
if (magnify_gesture.is_valid() && !p_already_accepted) {
Ref<InputEventGesturePinch> pinch_gesture = p_event;
if (pinch_gesture.is_valid() && !p_already_accepted) {
// Zoom gesture
_zoom_on_position(zoom * magnify_gesture->get_factor(), magnify_gesture->get_position());
_zoom_on_position(zoom * pinch_gesture->get_factor(), pinch_gesture->get_position());
return true;
}
Ref<InputEventPanGesture> pan_gesture = p_event;
Ref<InputEventGesturePan> pan_gesture = p_event;
if (pan_gesture.is_valid() && !p_already_accepted) {
// If ctrl key pressed, then zoom instead of pan.
if (pan_gesture->is_ctrl_pressed()) {

View file

@ -2149,16 +2149,16 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
}
}
Ref<InputEventMagnifyGesture> magnify_gesture = p_event;
if (magnify_gesture.is_valid()) {
Ref<InputEventGesturePinch> pinch_gesture = p_event;
if (pinch_gesture.is_valid()) {
if (is_freelook_active()) {
scale_freelook_speed(magnify_gesture->get_factor());
scale_freelook_speed(pinch_gesture->get_factor());
} else {
scale_cursor_distance(1.0 / magnify_gesture->get_factor());
scale_cursor_distance(1.0 / pinch_gesture->get_factor());
}
}
Ref<InputEventPanGesture> pan_gesture = p_event;
Ref<InputEventGesturePan> pan_gesture = p_event;
if (pan_gesture.is_valid()) {
NavigationScheme nav_scheme = (NavigationScheme)EditorSettings::get_singleton()->get("editors/3d/navigation/navigation_scheme").operator int();
NavigationMode nav_mode = NAVIGATION_NONE;

View file

@ -913,12 +913,12 @@ void Polygon2DEditor::_uv_input(const Ref<InputEvent> &p_input) {
}
}
Ref<InputEventMagnifyGesture> magnify_gesture = p_input;
if (magnify_gesture.is_valid()) {
uv_zoom->set_value(uv_zoom->get_value() * magnify_gesture->get_factor());
Ref<InputEventGesturePinch> pinch_gesture = p_input;
if (pinch_gesture.is_valid()) {
uv_zoom->set_value(uv_zoom->get_value() * pinch_gesture->get_factor());
}
Ref<InputEventPanGesture> pan_gesture = p_input;
Ref<InputEventGesturePan> pan_gesture = p_input;
if (pan_gesture.is_valid()) {
uv_hscroll->set_value(uv_hscroll->get_value() + uv_hscroll->get_page() * pan_gesture->get_delta().x / 8);
uv_vscroll->set_value(uv_vscroll->get_value() + uv_vscroll->get_page() * pan_gesture->get_delta().y / 8);

View file

@ -597,12 +597,12 @@ void TextureRegionEditor::_region_input(const Ref<InputEvent> &p_input) {
}
}
Ref<InputEventMagnifyGesture> magnify_gesture = p_input;
if (magnify_gesture.is_valid()) {
_zoom_on_position(draw_zoom * magnify_gesture->get_factor(), magnify_gesture->get_position());
Ref<InputEventGesturePinch> pinch_gesture = p_input;
if (pinch_gesture.is_valid()) {
_zoom_on_position(draw_zoom * pinch_gesture->get_factor(), pinch_gesture->get_position());
}
Ref<InputEventPanGesture> pan_gesture = p_input;
Ref<InputEventGesturePan> pan_gesture = p_input;
if (pan_gesture.is_valid()) {
hscroll->set_value(hscroll->get_value() + hscroll->get_page() * pan_gesture->get_delta().x / 8);
vscroll->set_value(vscroll->get_value() + vscroll->get_page() * pan_gesture->get_delta().y / 8);

View file

@ -752,7 +752,7 @@ EditorPlugin::AfterGUIInput GridMapEditor::forward_spatial_input_event(Camera3D
}
}
Ref<InputEventPanGesture> pan_gesture = p_event;
Ref<InputEventGesturePan> pan_gesture = p_event;
if (pan_gesture.is_valid()) {
if (pan_gesture->is_alt_pressed() && (pan_gesture->is_command_pressed() || pan_gesture->is_shift_pressed())) {
const real_t delta = pan_gesture->get_delta().y * 0.5;

View file

@ -385,11 +385,11 @@ MouseButton AndroidInputHandler::_android_button_mask_to_godot_button_mask(int a
}
void AndroidInputHandler::process_scroll(Point2 p_pos) {
Ref<InputEventPanGesture> ev;
Ref<InputEventGesturePan> ev;
ev.instantiate();
_set_key_modifier_state(ev);
ev->set_position(p_pos);
ev->set_delta(p_pos - scroll_prev_pos);
ev->set_relative(p_pos - scroll_prev_pos);
Input::get_singleton()->parse_input_event(ev);
scroll_prev_pos = p_pos;
}

View file

@ -862,7 +862,7 @@ static void _mouseDownEvent(DisplayServer::WindowID window_id, NSEvent *event, M
ERR_FAIL_COND(!DS_OSX->windows.has(window_id));
DisplayServerOSX::WindowData &wd = DS_OSX->windows[window_id];
Ref<InputEventMagnifyGesture> ev;
Ref<InputEventGesturePinch> ev;
ev.instantiate();
ev->set_window_id(window_id);
_get_key_modifier_state([event modifierFlags], ev);
@ -1379,13 +1379,13 @@ inline void sendPanEvent(DisplayServer::WindowID window_id, double dx, double dy
ERR_FAIL_COND(!DS_OSX->windows.has(window_id));
DisplayServerOSX::WindowData &wd = DS_OSX->windows[window_id];
Ref<InputEventPanGesture> pg;
Ref<InputEventGesturePan> pg;
pg.instantiate();
pg->set_window_id(window_id);
_get_key_modifier_state(modifierFlags, pg);
pg->set_position(wd.mouse_pos);
pg->set_delta(Vector2(-dx, -dy));
pg->set_relative(Vector2(-dx, -dy));
Input::get_singleton()->parse_input_event(pg);
}

View file

@ -1313,12 +1313,12 @@ void GraphEdit::gui_input(const Ref<InputEvent> &p_ev) {
}
}
Ref<InputEventMagnifyGesture> magnify_gesture = p_ev;
if (magnify_gesture.is_valid()) {
set_zoom_custom(zoom * magnify_gesture->get_factor(), magnify_gesture->get_position());
Ref<InputEventGesturePinch> pinch_gesture = p_ev;
if (pinch_gesture.is_valid()) {
set_zoom_custom(zoom * pinch_gesture->get_factor(), pinch_gesture->get_position());
}
Ref<InputEventPanGesture> pan_gesture = p_ev;
Ref<InputEventGesturePan> pan_gesture = p_ev;
if (pan_gesture.is_valid()) {
h_scroll->set_value(h_scroll->get_value() + h_scroll->get_page() * pan_gesture->get_delta().x / 8);
v_scroll->set_value(v_scroll->get_value() + v_scroll->get_page() * pan_gesture->get_delta().y / 8);

View file

@ -823,7 +823,7 @@ void ItemList::gui_input(const Ref<InputEvent> &p_event) {
}
}
Ref<InputEventPanGesture> pan_gesture = p_event;
Ref<InputEventGesturePan> pan_gesture = p_event;
if (pan_gesture.is_valid()) {
scroll_bar->set_value(scroll_bar->get_value() + scroll_bar->get_page() * pan_gesture->get_delta().y / 8);
}

View file

@ -1648,7 +1648,7 @@ void RichTextLabel::gui_input(const Ref<InputEvent> &p_event) {
}
}
Ref<InputEventPanGesture> pan_gesture = p_event;
Ref<InputEventGesturePan> pan_gesture = p_event;
if (pan_gesture.is_valid()) {
if (scroll_active) {
vscroll->set_value(vscroll->get_value() + vscroll->get_page() * pan_gesture->get_delta().y * 0.5 / 8);

View file

@ -195,7 +195,7 @@ void ScrollContainer::gui_input(const Ref<InputEvent> &p_gui_input) {
}
}
Ref<InputEventPanGesture> pan_gesture = p_gui_input;
Ref<InputEventGesturePan> pan_gesture = p_gui_input;
if (pan_gesture.is_valid()) {
if (h_scroll->is_visible_in_tree()) {
h_scroll->set_value(h_scroll->get_value() + h_scroll->get_page() * pan_gesture->get_delta().x / 8);

View file

@ -1589,7 +1589,7 @@ void TextEdit::gui_input(const Ref<InputEvent> &p_gui_input) {
}
}
const Ref<InputEventPanGesture> pan_gesture = p_gui_input;
const Ref<InputEventGesturePan> pan_gesture = p_gui_input;
if (pan_gesture.is_valid()) {
const real_t delta = pan_gesture->get_delta().y;
if (delta < 0) {

View file

@ -3386,7 +3386,7 @@ void Tree::gui_input(const Ref<InputEvent> &p_event) {
}
}
Ref<InputEventPanGesture> pan_gesture = p_event;
Ref<InputEventGesturePan> pan_gesture = p_event;
if (pan_gesture.is_valid()) {
double prev_v = v_scroll->get_value();
v_scroll->set_value(v_scroll->get_value() + v_scroll->get_page() * pan_gesture->get_delta().y / 8);

View file

@ -1263,7 +1263,7 @@ void Viewport::_gui_call_input(Control *p_control, const Ref<InputEvent> &p_inpu
mb->get_button_index() == MOUSE_BUTTON_WHEEL_UP ||
mb->get_button_index() == MOUSE_BUTTON_WHEEL_LEFT ||
mb->get_button_index() == MOUSE_BUTTON_WHEEL_RIGHT));
Ref<InputEventPanGesture> pn = p_input;
Ref<InputEventGesturePan> pn = p_input;
cant_stop_me_now = pn.is_valid() || cant_stop_me_now;
bool ismouse = ev.is_valid() || Object::cast_to<InputEventMouseMotion>(*p_input) != nullptr;