zntg/ui/examples/01_basic/basic.go

49 lines
1005 B
Go
Raw Normal View History

package main
import (
"image/color"
"log"
"opslag.de/schobers/geom"
"opslag.de/schobers/zntg/allg5"
"opslag.de/schobers/zntg/ui"
"opslag.de/schobers/zntg/ui/allg5ui"
)
func run() error {
var render, err = allg5ui.NewRenderer(800, 600, allg5.NewDisplayOptions{})
if err != nil {
return err
}
defer render.Destroy()
err = render.RegisterFont("../resources/font/OpenSans-Regular.ttf", "default", 14)
if err != nil {
return err
}
var view = &ui.StackPanel{ContainerBase: ui.ContainerBase{
ControlBase: ui.ControlBase{Background: color.White},
Children: []ui.Control{
&ui.Label{Text: "Hello, world!"},
ui.BuildButton("Quit", func(b *ui.Button) {
b.OnClick(func(ctx ui.Context, _ ui.Control, _ geom.PointF32, _ ui.MouseButton) {
ctx.Quit()
})
}),
ui.Stretch(&ui.Label{Text: "Content"}),
&ui.Label{Text: "Status"},
},
}}
return ui.RunWait(render, ui.DefaultStyle(), view, true)
}
func main() {
var err = run()
if err != nil {
log.Fatal(err)
}
}