mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-01 07:35:40 +00:00
widget/material: use more efficient way of scrolling lists
Signed-off-by: Dominik Honnef <dominik@honnef.co>
This commit is contained in:
committed by
Elias Naur
parent
8af4472672
commit
5f818bc5e7
@@ -292,12 +292,7 @@ func (l ListStyle) Layout(gtx layout.Context, length int, w layout.ListElement)
|
||||
if delta := l.state.ScrollDistance(); delta != 0 {
|
||||
// Handle any changes to the list position as a result of user interaction
|
||||
// with the scrollbar.
|
||||
l.state.List.Position.Offset += int(math.Round(float64(float32(l.state.Position.Length) * delta)))
|
||||
|
||||
// Ensure that the list pays attention to the Offset field when the scrollbar drag
|
||||
// is started while the bar is at the end of the list. Without this, the scrollbar
|
||||
// cannot be dragged away from the end.
|
||||
l.state.List.Position.BeforeEnd = true
|
||||
l.state.List.ScrollBy(delta * float32(length))
|
||||
}
|
||||
|
||||
if l.AnchorStrategy == Occupy {
|
||||
|
||||
Reference in New Issue
Block a user