package ui import ( "opslag.de/schobers/galleg/allegro5" "opslag.de/schobers/geom" ) type Label struct { ControlBase Text string HorizontalAlignment allegro5.HorizontalAlignment } func (l *Label) DesiredSize(ctx Context) geom.PointF { var fonts = ctx.Fonts() var fnt = fonts.Get("default") var _, _, w, h = fnt.TextDimensions(l.Text) return geom.PtF(float64(w), float64(h)) } func (l *Label) Render(ctx Context) { var fonts = ctx.Fonts() var min = l.Bounds.Min.To32() var fnt = fonts.Get("default") fnt.Draw(min.X, min.Y+fnt.Height()-fnt.Ascent(), ctx.Palette().Darkest(), l.HorizontalAlignment, l.Text) l.ControlBase.Render(ctx) }