From 03a1ada8ac11ee94073e648b5885422164d05d76 Mon Sep 17 00:00:00 2001 From: Chris Waldon Date: Tue, 14 Jan 2025 10:57:56 -0500 Subject: [PATCH] go.*: update to gio v0.8.0 Signed-off-by: Chris Waldon --- go.mod | 5 ++--- go.sum | 14 ++++++------- gogio/internal/custom/testdata.go | 34 +++++++++++++++++-------------- 3 files changed, 27 insertions(+), 26 deletions(-) diff --git a/go.mod b/go.mod index 16098a8..9a506b0 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module gioui.org/cmd go 1.21 require ( - gioui.org v0.7.1 + gioui.org v0.8.0 github.com/akavel/rsrc v0.10.1 github.com/chromedp/cdproto v0.0.0-20191114225735-6626966fbae4 github.com/chromedp/chromedp v0.5.2 @@ -14,9 +14,8 @@ require ( ) require ( - gioui.org/cpu v0.0.0-20210817075930-8d6a761490d2 // indirect gioui.org/shader v1.0.8 // indirect - github.com/go-text/typesetting v0.1.1 // indirect + github.com/go-text/typesetting v0.2.1 // indirect github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee // indirect github.com/gobwas/pool v0.2.0 // indirect github.com/gobwas/ws v1.0.2 // indirect diff --git a/go.sum b/go.sum index 03288a8..bc2c6ae 100644 --- a/go.sum +++ b/go.sum @@ -1,10 +1,8 @@ eliasnaur.com/font v0.0.0-20230308162249-dd43949cb42d h1:ARo7NCVvN2NdhLlJE9xAbKweuI9L6UgfTbYb0YwPacY= eliasnaur.com/font v0.0.0-20230308162249-dd43949cb42d/go.mod h1:OYVuxibdk9OSLX8vAqydtRPP87PyTFcT9uH3MlEGBQA= -gioui.org v0.7.1 h1:l7OVj47n1z8acaszQ6Wlu+Rxme+HqF3q8b+Fs68+x3w= -gioui.org v0.7.1/go.mod h1:5Kw/q7R1BWc5MKStuTNvhCgSrRqbfHc9Dzfjs4IGgZo= +gioui.org v0.8.0 h1:QV5p5JvsmSmGiIXVYOKn6d9YDliTfjtLlVf5J+BZ9Pg= +gioui.org v0.8.0/go.mod h1:vEMmpxMOd/iwJhXvGVIzWEbxMWhnMQ9aByOGQdlQ8rc= gioui.org/cpu v0.0.0-20210808092351-bfe733dd3334/go.mod h1:A8M0Cn5o+vY5LTMlnRoK3O5kG+rH0kWfJjeKd9QpBmQ= -gioui.org/cpu v0.0.0-20210817075930-8d6a761490d2 h1:AGDDxsJE1RpcXTAxPG2B4jrwVUJGFDjINIPi1jtO6pc= -gioui.org/cpu v0.0.0-20210817075930-8d6a761490d2/go.mod h1:A8M0Cn5o+vY5LTMlnRoK3O5kG+rH0kWfJjeKd9QpBmQ= gioui.org/shader v1.0.8 h1:6ks0o/A+b0ne7RzEqRZK5f4Gboz2CfG+mVliciy6+qA= gioui.org/shader v1.0.8/go.mod h1:mWdiME581d/kV7/iEhLmUgUK5iZ09XR5XpduXzbePVM= github.com/akavel/rsrc v0.10.1 h1:hCCPImjmFKVNGpeLZyTDRHEFC283DzyTXTo0cO0Rq9o= @@ -13,10 +11,10 @@ github.com/chromedp/cdproto v0.0.0-20191114225735-6626966fbae4 h1:QD3KxSJ59L2lxG github.com/chromedp/cdproto v0.0.0-20191114225735-6626966fbae4/go.mod h1:PfAWWKJqjlGFYJEidUM6aVIWPr0EpobeyVWEEmplX7g= github.com/chromedp/chromedp v0.5.2 h1:W8xBXQuUnd2dZK0SN/lyVwsQM7KgW+kY5HGnntms194= github.com/chromedp/chromedp v0.5.2/go.mod h1:rsTo/xRo23KZZwFmWk2Ui79rBaVRRATCjLzNQlOFSiA= -github.com/go-text/typesetting v0.1.1 h1:bGAesCuo85nXnEN5LmFMVGAGpGkCPtHrZLi//qD7EJo= -github.com/go-text/typesetting v0.1.1/go.mod h1:d22AnmeKq/on0HNv73UFriMKc4Ez6EqZAofLhAzpSzI= -github.com/go-text/typesetting-utils v0.0.0-20231211103740-d9332ae51f04 h1:zBx+p/W2aQYtNuyZNcTfinWvXBQwYtDfme051PR/lAY= -github.com/go-text/typesetting-utils v0.0.0-20231211103740-d9332ae51f04/go.mod h1:DDxDdQEnB70R8owOx3LVpEFvpMK9eeH1o2r0yZhFI9o= +github.com/go-text/typesetting v0.2.1 h1:x0jMOGyO3d1qFAPI0j4GSsh7M0Q3Ypjzr4+CEVg82V8= +github.com/go-text/typesetting v0.2.1/go.mod h1:mTOxEwasOFpAMBjEQDhdWRckoLLeI/+qrQeBCTGEt6M= +github.com/go-text/typesetting-utils v0.0.0-20241103174707-87a29e9e6066 h1:qCuYC+94v2xrb1PoS4NIDe7DGYtLnU2wWiQe9a1B1c0= +github.com/go-text/typesetting-utils v0.0.0-20241103174707-87a29e9e6066/go.mod h1:DDxDdQEnB70R8owOx3LVpEFvpMK9eeH1o2r0yZhFI9o= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= diff --git a/gogio/internal/custom/testdata.go b/gogio/internal/custom/testdata.go index 52c6207..5a17448 100644 --- a/gogio/internal/custom/testdata.go +++ b/gogio/internal/custom/testdata.go @@ -20,8 +20,8 @@ import ( "gioui.org/app" "gioui.org/gpu" + "gioui.org/io/event" "gioui.org/io/pointer" - "gioui.org/io/system" "gioui.org/layout" "gioui.org/op" "gioui.org/op/clip" @@ -98,7 +98,8 @@ type eglContext struct { func main() { go func() { // Set CustomRenderer so we can provide our own rendering context. - w := app.NewWindow(app.CustomRenderer(true)) + w := new(app.Window) + w.Option(app.CustomRenderer(true)) if err := loop(w); err != nil { log.Fatal(err) } @@ -164,17 +165,17 @@ func loop(w *app.Window) error { // eglMakeCurrent binds a context to an operating system thread. Prevent Go from switching thread. runtime.LockOSThread() - for e := range w.Events() { - switch e := e.(type) { + for { + switch e := w.Event().(type) { case app.ViewEvent: ve = e init = true if size != (image.Point{}) { recreateContext() } - case system.DestroyEvent: + case app.DestroyEvent: return e.Err - case system.FrameEvent: + case app.FrameEvent: if init && size != e.Size { size = e.Size recreateContext() @@ -183,7 +184,7 @@ func loop(w *app.Window) error { break } // Build ops. - gtx := layout.NewContext(&ops, e) + gtx := app.NewContext(&ops, e) // Clear background to white, even on embedded platforms such as webassembly. paint.Fill(gtx.Ops, color.NRGBA{A: 0xff, R: 0xff, G: 0xff, B: 0xff}) @@ -205,7 +206,7 @@ func loop(w *app.Window) error { ) }), ) - op.InvalidateOp{}.Add(gtx.Ops) + gtx.Execute(op.InvalidateCmd{}) log.Println("frame") // Trigger window resize detection in ANGLE. @@ -351,13 +352,16 @@ func (w *quarterWidget) Layout(gtx layout.Context) layout.Dimensions { defer clip.Rect(image.Rectangle{ Max: image.Pt(gtx.Constraints.Max.X, gtx.Constraints.Max.Y), }).Push(gtx.Ops).Pop() - pointer.InputOp{ - Tag: w, - Types: pointer.Press, - }.Add(gtx.Ops) - - for _, e := range gtx.Events(w) { - if e, ok := e.(pointer.Event); ok && e.Type == pointer.Press { + event.Op(gtx.Ops, w) + for { + e, ok := gtx.Event(pointer.Filter{ + Target: w, + Kinds: pointer.Press, + }) + if !ok { + break + } + if e, ok := e.(pointer.Event); ok && e.Kind == pointer.Press { w.clicked = !w.clicked // notify when we're done updating the frame. notify = notifyInvalidate