apps: remove use of app.Window.IsAlive

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2019-07-08 15:51:21 +02:00
parent b494b3c8c0
commit 5f15f4c769
2 changed files with 15 additions and 8 deletions
+11 -6
View File
@@ -32,12 +32,16 @@ func main() {
func init() {
go func() {
for w := range app.Windows() {
go loop(w)
go func() {
if err := loop(w); err != nil {
log.Fatal(err)
}
}()
}
}()
}
func loop(w *app.Window) {
func loop(w *app.Window) error {
regular, err := sfnt.Parse(goregular.TTF)
if err != nil {
panic("failed to load font")
@@ -48,9 +52,13 @@ func loop(w *app.Window) {
face := faces.For(regular, ui.Sp(72))
message := "Hello, Gio"
ops := new(ui.Ops)
for w.IsAlive() {
for {
e := <-w.Events()
switch e := e.(type) {
case app.StageEvent:
if e.Stage == app.StageDead {
return w.Err()
}
case app.DrawEvent:
cfg = e.Config
cs := layout.ExactConstraints(w.Size())
@@ -63,7 +71,4 @@ func loop(w *app.Window) {
faces.Frame()
}
}
if err := w.Err(); err != nil {
log.Fatal(err)
}
}