From d5e4011bc36a15f4173df3305fc71e40edf97271 Mon Sep 17 00:00:00 2001 From: volzhs Date: Tue, 27 Dec 2016 16:32:22 +0900 Subject: [PATCH] Scroll horizontally with mouse wheel when horizontal enabled only (cherry picked from commit 22b76511fb4e26c3f6726bcb710b4df1d028d37d) --- scene/gui/scroll_container.cpp | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/scene/gui/scroll_container.cpp b/scene/gui/scroll_container.cpp index 479bb96fe2..22bfb2f730 100644 --- a/scene/gui/scroll_container.cpp +++ b/scene/gui/scroll_container.cpp @@ -88,14 +88,22 @@ void ScrollContainer::_input_event(const InputEvent& p_input_event) { const InputEventMouseButton &mb=p_input_event.mouse_button; - if (mb.button_index==BUTTON_WHEEL_UP && mb.pressed && v_scroll->is_visible()) { - - v_scroll->set_val( v_scroll->get_val()-v_scroll->get_page()/8 ); + if (mb.button_index==BUTTON_WHEEL_UP && mb.pressed) { + if (h_scroll->is_visible() && !v_scroll->is_visible()){ + // only horizontal is enabled, scroll horizontally + h_scroll->set_val( h_scroll->get_val()-h_scroll->get_page()/8 ); + } else if (v_scroll->is_visible()) { + v_scroll->set_val( v_scroll->get_val()-v_scroll->get_page()/8 ); + } } - if (mb.button_index==BUTTON_WHEEL_DOWN && mb.pressed && v_scroll->is_visible()) { - - v_scroll->set_val( v_scroll->get_val()+v_scroll->get_page()/8 ); + if (mb.button_index==BUTTON_WHEEL_DOWN && mb.pressed) { + if (h_scroll->is_visible() && !v_scroll->is_visible()){ + // only horizontal is enabled, scroll horizontally + h_scroll->set_val( h_scroll->get_val()+h_scroll->get_page()/8 ); + } else if (v_scroll->is_visible()) { + v_scroll->set_val( v_scroll->get_val()+v_scroll->get_page()/8 ); + } } if(!OS::get_singleton()->has_touchscreen_ui_hint())