Skip to content

Commit cb1e5cb

Browse files
committed
Throttle scrolling delta by event factor
1 parent cfc3dbb commit cb1e5cb

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

ui/components/SmoothScrollContainer.gd

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -103,20 +103,22 @@ func _gui_input(event: InputEvent) -> void:
103103
accept_event()
104104
elif can_mouse_scroll:
105105
if event.is_action("scroll_up") and event.pressed:
106-
scroll_up()
106+
scroll_up(event.factor)
107107
accept_event()
108108
elif event.is_action("scroll_down") and event.pressed:
109-
scroll_down()
109+
scroll_down(event.factor)
110110
accept_event()
111111

112112

113-
func scroll_up() -> void:
114-
_set_target_position(_target_position + Vector2.UP * MOUSE_SCROLL_STEP * _scroll_sensitivity)
113+
func scroll_up(scroll_factor: float) -> void:
114+
var delta := scroll_factor * MOUSE_SCROLL_STEP * _scroll_sensitivity
115+
_set_target_position(_target_position + Vector2.UP * delta)
115116
_last_accepted_scroll_event_time = Time.get_ticks_msec()
116117

117118

118-
func scroll_down() -> void:
119-
_set_target_position(_target_position + Vector2.DOWN * MOUSE_SCROLL_STEP * _scroll_sensitivity)
119+
func scroll_down(scroll_factor: float) -> void:
120+
var delta := scroll_factor * MOUSE_SCROLL_STEP * _scroll_sensitivity
121+
_set_target_position(_target_position + Vector2.DOWN * delta)
120122
_last_accepted_scroll_event_time = Time.get_ticks_msec()
121123

122124

0 commit comments

Comments
 (0)