aboutsummaryrefslogtreecommitdiff
path: root/scene/gui/scroll_container.cpp
diff options
context:
space:
mode:
authorvolzhs2016-12-27 16:32:22 +0900
committerRémi Verschelde2017-01-12 19:15:28 +0100
commitd5e4011bc36a15f4173df3305fc71e40edf97271 (patch)
tree5e7a046b06303ac52e9745e5e29ffe552a40d20f /scene/gui/scroll_container.cpp
parent139701942449be8fcfa4e4f1f6af5e45aa8e5c22 (diff)
downloadgodot-d5e4011bc36a15f4173df3305fc71e40edf97271.tar.gz
godot-d5e4011bc36a15f4173df3305fc71e40edf97271.tar.zst
godot-d5e4011bc36a15f4173df3305fc71e40edf97271.zip
Scroll horizontally with mouse wheel when horizontal enabled only
(cherry picked from commit 22b76511fb4e26c3f6726bcb710b4df1d028d37d)
Diffstat (limited to '')
-rw-r--r--scene/gui/scroll_container.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/scene/gui/scroll_container.cpp b/scene/gui/scroll_container.cpp
index 479bb96fe..22bfb2f73 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())