widget: clicking on the scrollbar indicator shouldn't jump

Signed-off-by: Dominik Honnef <dominik@honnef.co>
This commit is contained in:
Dominik Honnef
2022-06-30 01:21:03 +02:00
committed by Elias Naur
parent 8f990a6fdc
commit aea376fbaf
+5 -1
View File
@@ -58,7 +58,11 @@ func (s *Scrollbar) Layout(gtx layout.Context, axis layout.Axis, viewportStart,
Y: int(event.Position.Y),
})
normalizedPos := float32(pos.X) / trackHeight
s.delta += normalizedPos - viewportStart
// Clicking on the indicator should not jump to that position on the track. The user might've just intended to
// drag and changed their mind.
if !(normalizedPos >= viewportStart && normalizedPos <= viewportEnd) {
s.delta += normalizedPos - viewportStart
}
}
// Offset to account for any drags.