func (p *Progress) SizeHint() image.Point {
	return image.Point{p.max, 1}
}
SizeHint returns the recommended size for the progress bar.
package tui
import "image"
var _ Widget = &Progress{}
type Progress struct {
	WidgetBase
	current, max int
}
func NewProgress(max int) *Progress {
	return &Progress{
		max: max,
	}
}
func (p *Progress) Draw(painter *Painter) {
	painter.DrawRune(0, 0, '[')
	painter.DrawRune(p.Size().X-1, 0, ']')
	start := 1
	end := p.Size().X - 1
	curr := int((float64(p.current) / float64(p.max)) * float64(end-start))
	for i := start; i < curr; i++ {
		painter.DrawRune(i, 0, '=')
	}
	for i := curr + start; i < end; i++ {
		painter.DrawRune(i, 0, '-')
	}
	painter.DrawRune(curr, 0, '>')
}
func (p *Progress) MinSizeHint() image.Point {
	return image.Point{5, 1}
}