package uilayout import "fyne.io/fyne/v2" type MinSize struct { minSize fyne.Size } func NewMinSizeLayout(minSize fyne.Size) *MinSize { return &MinSize{minSize: minSize} } func (l *MinSize) MinSize(objects []fyne.CanvasObject) fyne.Size { size := l.minSize for _, o := range objects { childSize := o.MinSize() if size.Width < childSize.Width { size.Width = childSize.Width } if size.Height < childSize.Height { size.Height = childSize.Height } } return size } func (l *MinSize) Layout(objects []fyne.CanvasObject, containerSize fyne.Size) { pos := fyne.NewPos(0, 0) for _, o := range objects { o.Resize(containerSize) o.Move(pos) } }