Browse Source

Make scrollwheel zoom based on mouse position, cherry-picked for 3.x

Lightning_A 4 years ago
parent
commit
77cf07c013
1 changed files with 2 additions and 2 deletions
  1. 2 2
      scene/gui/graph_edit.cpp

+ 2 - 2
scene/gui/graph_edit.cpp

@@ -1344,9 +1344,9 @@ void GraphEdit::_gui_input(const Ref<InputEvent> &p_ev) {
 		}
 
 		if (b->get_button_index() == BUTTON_WHEEL_UP && Input::get_singleton()->is_key_pressed(KEY_CONTROL)) {
-			set_zoom(zoom * ZOOM_SCALE);
+			set_zoom_custom(zoom * ZOOM_SCALE, b->get_position());
 		} else if (b->get_button_index() == BUTTON_WHEEL_DOWN && Input::get_singleton()->is_key_pressed(KEY_CONTROL)) {
-			set_zoom(zoom / ZOOM_SCALE);
+			set_zoom_custom(zoom / ZOOM_SCALE, b->get_position());
 		} else if (b->get_button_index() == BUTTON_WHEEL_UP && !Input::get_singleton()->is_key_pressed(KEY_SHIFT)) {
 			v_scroll->set_value(v_scroll->get_value() - v_scroll->get_page() * b->get_factor() / 8);
 		} else if (b->get_button_index() == BUTTON_WHEEL_DOWN && !Input::get_singleton()->is_key_pressed(KEY_SHIFT)) {