mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-01 07:35:40 +00:00
gesture,internal/fling: fix rounding
The code tried to extract a rounded whole number of pixels while preserving the fraction. However, it failed to converge for the value 0.5, rounded to 1, leaving -0.5, rounded to -1, leaving 0.5 and so on. Drop the cleverness and truncate the values instead. Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
@@ -85,7 +85,7 @@ func (f *Animation) Tick(now time.Time) int {
|
||||
ekt := float32(math.Exp(float64(k) * t.Seconds()))
|
||||
x := f.v0*ekt/k - f.v0/k
|
||||
dist := x - f.x
|
||||
idist := int(math.Round(float64(dist)))
|
||||
idist := int(dist)
|
||||
f.x += float32(idist)
|
||||
// Solving for the velocity x'(t) gives us
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user