don't re-calculate values in loops for layouts

This commit is contained in:
Drew Weymouth
2023-05-03 09:09:13 -07:00
parent fd01e37260
commit e486fcddad
5 changed files with 16 additions and 10 deletions
+5 -4
View File
@@ -30,14 +30,15 @@ func (b *LeftMiddleRightLayout) MinSize(objects []fyne.CanvasObject) fyne.Size {
}
func (b *LeftMiddleRightLayout) Layout(objects []fyne.CanvasObject, size fyne.Size) {
pad := theme.Padding()
midW := fyne.Max(b.middleWidth, objects[1].MinSize().Width)
lrW := (size.Width - midW - theme.Padding()*4) / 2
lrW := (size.Width - midW - pad*4) / 2
objects[0].Resize(fyne.NewSize(lrW, size.Height))
objects[0].Move(fyne.NewPos(theme.Padding(), 0))
objects[0].Move(fyne.NewPos(pad, 0))
objects[1].Resize(fyne.NewSize(midW, size.Height))
objects[1].Move(fyne.NewPos(lrW+theme.Padding()*2, 0))
objects[1].Move(fyne.NewPos(lrW+pad*2, 0))
if objects[2] != nil {
objects[2].Resize(fyne.NewSize(lrW, size.Height))
objects[2].Move(fyne.NewPos(lrW+midW+theme.Padding()*3, 0))
objects[2].Move(fyne.NewPos(lrW+midW+pad*3, 0))
}
}