diff options
Diffstat (limited to 'scene/gui/scroll_container.cpp')
-rw-r--r-- | scene/gui/scroll_container.cpp | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/scene/gui/scroll_container.cpp b/scene/gui/scroll_container.cpp index 1447d2f002..4f49f60d70 100644 --- a/scene/gui/scroll_container.cpp +++ b/scene/gui/scroll_container.cpp @@ -114,19 +114,19 @@ void ScrollContainer::gui_input(const Ref<InputEvent> &p_gui_input) { if (mb->get_button_index() == MouseButton::WHEEL_UP) { // By default, the vertical orientation takes precedence. This is an exception. if ((h_scroll_enabled && mb->is_shift_pressed()) || v_scroll_hidden) { - h_scroll->set_value(prev_h_scroll - h_scroll->get_page() / 8 * mb->get_factor()); + h_scroll->scroll(-h_scroll->get_page() / 8 * mb->get_factor()); scroll_value_modified = true; } else if (v_scroll_enabled) { - v_scroll->set_value(prev_v_scroll - v_scroll->get_page() / 8 * mb->get_factor()); + v_scroll->scroll(-v_scroll->get_page() / 8 * mb->get_factor()); scroll_value_modified = true; } } if (mb->get_button_index() == MouseButton::WHEEL_DOWN) { if ((h_scroll_enabled && mb->is_shift_pressed()) || v_scroll_hidden) { - h_scroll->set_value(prev_h_scroll + h_scroll->get_page() / 8 * mb->get_factor()); + h_scroll->scroll(h_scroll->get_page() / 8 * mb->get_factor()); scroll_value_modified = true; } else if (v_scroll_enabled) { - v_scroll->set_value(prev_v_scroll + v_scroll->get_page() / 8 * mb->get_factor()); + v_scroll->scroll(v_scroll->get_page() / 8 * mb->get_factor()); scroll_value_modified = true; } } @@ -135,19 +135,19 @@ void ScrollContainer::gui_input(const Ref<InputEvent> &p_gui_input) { if (mb->get_button_index() == MouseButton::WHEEL_LEFT) { // By default, the horizontal orientation takes precedence. This is an exception. if ((v_scroll_enabled && mb->is_shift_pressed()) || h_scroll_hidden) { - v_scroll->set_value(prev_v_scroll - v_scroll->get_page() / 8 * mb->get_factor()); + v_scroll->scroll(-v_scroll->get_page() / 8 * mb->get_factor()); scroll_value_modified = true; } else if (h_scroll_enabled) { - h_scroll->set_value(prev_h_scroll - h_scroll->get_page() / 8 * mb->get_factor()); + h_scroll->scroll(-h_scroll->get_page() / 8 * mb->get_factor()); scroll_value_modified = true; } } if (mb->get_button_index() == MouseButton::WHEEL_RIGHT) { if ((v_scroll_enabled && mb->is_shift_pressed()) || h_scroll_hidden) { - v_scroll->set_value(prev_v_scroll + v_scroll->get_page() / 8 * mb->get_factor()); + v_scroll->scroll(v_scroll->get_page() / 8 * mb->get_factor()); scroll_value_modified = true; } else if (h_scroll_enabled) { - h_scroll->set_value(prev_h_scroll + h_scroll->get_page() / 8 * mb->get_factor()); + h_scroll->scroll(h_scroll->get_page() / 8 * mb->get_factor()); scroll_value_modified = true; } } @@ -213,12 +213,12 @@ void ScrollContainer::gui_input(const Ref<InputEvent> &p_gui_input) { } Vector2 diff = drag_from + drag_accum; if (h_scroll_enabled) { - h_scroll->set_value(diff.x); + h_scroll->scroll_to(diff.x); } else { drag_accum.x = 0; } if (v_scroll_enabled) { - v_scroll->set_value(diff.y); + v_scroll->scroll_to(diff.y); } else { drag_accum.y = 0; } @@ -235,10 +235,10 @@ void ScrollContainer::gui_input(const Ref<InputEvent> &p_gui_input) { Ref<InputEventPanGesture> pan_gesture = p_gui_input; if (pan_gesture.is_valid()) { if (h_scroll_enabled) { - h_scroll->set_value(prev_h_scroll + h_scroll->get_page() * pan_gesture->get_delta().x / 8); + h_scroll->scroll(h_scroll->get_page() * pan_gesture->get_delta().x / 8); } if (v_scroll_enabled) { - v_scroll->set_value(prev_v_scroll + v_scroll->get_page() * pan_gesture->get_delta().y / 8); + v_scroll->scroll(v_scroll->get_page() * pan_gesture->get_delta().y / 8); } if (v_scroll->get_value() != prev_v_scroll || h_scroll->get_value() != prev_h_scroll) { @@ -391,10 +391,10 @@ void ScrollContainer::_notification(int p_what) { } if (horizontal_scroll_mode != SCROLL_MODE_DISABLED) { - h_scroll->set_value(pos.x); + h_scroll->scroll_to(pos.x); } if (vertical_scroll_mode != SCROLL_MODE_DISABLED) { - v_scroll->set_value(pos.y); + v_scroll->scroll_to(pos.y); } float sgn_x = drag_speed.x < 0 ? -1 : 1; |