Added scroll container and minsize layout
This commit is contained in:
		
							
								
								
									
										33
									
								
								uilayout/minsize.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								uilayout/minsize.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| 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) | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Maarten Heremans
					Maarten Heremans