tui/views/view_text.go
2023-04-24 11:55:04 +02:00

29 lines
494 B
Go

package views
import (
"git.milar.in/milarin/tui"
)
// TextView is a tui.View which prints text
type TextView struct {
tui.ViewTmpl
Text string
}
var _ tui.View = &TextView{}
func NewTextView(text string) *TextView {
return &TextView{
Text: text,
}
}
func (v *TextView) Draw(buf *tui.ViewBuffer) {
v.ViewTmpl.Draw(buf)
tui.WriteMultiLineString(buf, v.Text, v.Style(), 0, 0)
}
func (v *TextView) Layout() (prefWidth, prefHeight int) {
return tui.MeasureMultiLineString(v.Text)
}