func (self UniformFillImageLayout) Layout(widget geom.Size, image geom.Size) (bounds geom.Rect) { if r1, r2 := image.Ratio(), widget.Ratio(); r1 < r2 { bounds.W = widget.W bounds.H = widget.W / r1 bounds.Y = (widget.H / 2) - (bounds.H / 2) } else if r1 > r2 { bounds.W = widget.H * r1 bounds.H = widget.H bounds.X = (widget.W / 2) - (bounds.W / 2) } else { bounds.W = widget.W bounds.H = widget.H } return }