[PATCH] WheelHandler: smooth scroll for a greater variety of movement sizes
authorNoah Davis <noahadvs@gmail.com>
Mon, 14 Apr 2025 17:49:23 +0000 (13:49 -0400)
committerAurélien COUDERC <coucouf@debian.org>
Tue, 20 May 2025 06:38:42 +0000 (08:38 +0200)
commitf38d2d110f6c16c683535d3a608fdfb77e574260
treeb685e44bbe66628d5ec3e3966cad2d984f14b2a4
parentba5d1e11e7a157d7703b782c4f138ad339836964
[PATCH] WheelHandler: smooth scroll for a greater variety of movement sizes

Duration is based on the duration and movement for 120 angle delta.
Shorten duration for smaller movements, limit duration for big movements.
We don't want fine deltas to feel extra slow and fast scrolling should still feel fast.
Minimum 3 frames for a 60hz display if delta > 2 physical pixels
(start already rendered -> 1/3 rendered -> 2/3 rendered -> end rendered).
Skip animation if <= 2 real frames for low refresh rate screens.
Otherwise, we don't scale the duration based on refresh rate or
device pixel ratio to avoid making the animation unexpectedly
longer or shorter on different screens.

BUG: 484309

Gbp-Pq: Name upstream_fb21ee82_WheelHandler-smooth-scroll-for-a-greater-variety-of-movement-sizes.patch
src/wheelhandler.cpp
src/wheelhandler.h