From c756986d9e79517bdb1efaf5f1fcd636ebb73c00 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Sat, 7 Oct 2023 10:30:34 -0500 Subject: [PATCH] gesture: [API] rename gesture state update methods to Update Change the gesture state update methods to align with the convention. Signed-off-by: Elias Naur --- gesture/gesture.go | 17 ++++++++--------- gesture/gesture_test.go | 6 +++--- layout/list.go | 2 +- widget/button.go | 2 +- widget/dnd.go | 2 +- widget/editor.go | 6 +++--- widget/enum.go | 2 +- widget/float.go | 2 +- widget/list.go | 6 +++--- widget/selectable.go | 4 ++-- 10 files changed, 24 insertions(+), 25 deletions(-) diff --git a/gesture/gesture.go b/gesture/gesture.go index a51b74b5..14faac45 100644 --- a/gesture/gesture.go +++ b/gesture/gesture.go @@ -43,8 +43,8 @@ func (h *Hover) Add(ops *op.Ops) { }.Add(ops) } -// Hovered returns whether a pointer is inside the area. -func (h *Hover) Hovered(q event.Queue) bool { +// Update state and report whether a pointer is inside the area. +func (h *Hover) Update(q event.Queue) bool { for _, ev := range q.Events(h) { e, ok := ev.(pointer.Event) if !ok { @@ -177,8 +177,8 @@ func (c *Click) Pressed() bool { return c.pressed } -// Events returns the next click events, if any. -func (c *Click) Events(q event.Queue) []ClickEvent { +// Update state and return the click events. +func (c *Click) Update(q event.Queue) []ClickEvent { var events []ClickEvent for _, evt := range q.Events(c) { e, ok := evt.(pointer.Event) @@ -268,9 +268,8 @@ func (s *Scroll) Stop() { s.flinger = fling.Animation{} } -// Scroll detects the scrolling distance from the available events and -// ongoing fling gestures. -func (s *Scroll) Scroll(cfg unit.Metric, q event.Queue, t time.Time, axis Axis) int { +// Update state and report the scroll distance along axis. +func (s *Scroll) Update(cfg unit.Metric, q event.Queue, t time.Time, axis Axis) int { if s.axis != axis { s.axis = axis return 0 @@ -372,8 +371,8 @@ func (d *Drag) Add(ops *op.Ops) { }.Add(ops) } -// Events returns the next drag events, if any. -func (d *Drag) Events(cfg unit.Metric, q event.Queue, axis Axis) []pointer.Event { +// Update state and return the drag events. +func (d *Drag) Update(cfg unit.Metric, q event.Queue, axis Axis) []pointer.Event { var events []pointer.Event for _, e := range q.Events(d) { e, ok := e.(pointer.Event) diff --git a/gesture/gesture_test.go b/gesture/gesture_test.go index 376292fd..6e0ffa11 100644 --- a/gesture/gesture_test.go +++ b/gesture/gesture_test.go @@ -28,14 +28,14 @@ func TestHover(t *testing.T) { r.Queue( pointer.Event{Kind: pointer.Move, Position: f32.Pt(30, 30)}, ) - if !h.Hovered(r) { + if !h.Update(r) { t.Fatal("expected hovered") } r.Queue( pointer.Event{Kind: pointer.Move, Position: f32.Pt(50, 50)}, ) - if h.Hovered(r) { + if h.Update(r) { t.Fatal("expected not hovered") } } @@ -75,7 +75,7 @@ func TestMouseClicks(t *testing.T) { r.Frame(&ops) r.Queue(tc.events...) - events := click.Events(&r) + events := click.Update(&r) clicks := filterMouseClicks(events) if got, want := len(clicks), len(tc.clicks); got != want { t.Fatalf("got %d mouse clicks, expected %d", got, want) diff --git a/layout/list.go b/layout/list.go index ddb6cb7b..22915e7c 100644 --- a/layout/list.go +++ b/layout/list.go @@ -144,7 +144,7 @@ func (l *List) Dragging() bool { } func (l *List) update(gtx Context) { - d := l.scroll.Scroll(gtx.Metric, gtx, gtx.Now, gesture.Axis(l.Axis)) + d := l.scroll.Update(gtx.Metric, gtx, gtx.Now, gesture.Axis(l.Axis)) l.scrollDelta = d l.Position.Offset += d } diff --git a/widget/button.go b/widget/button.go index da3c0acb..2a335127 100644 --- a/widget/button.go +++ b/widget/button.go @@ -141,7 +141,7 @@ func (b *Clickable) Update(gtx layout.Context) []Click { NumClicks: c, }) } - for _, e := range b.click.Events(gtx) { + for _, e := range b.click.Update(gtx) { switch e.Kind { case gesture.KindClick: if l := len(b.history); l > 0 { diff --git a/widget/dnd.go b/widget/dnd.go index 55b6c0a0..2c0910dc 100644 --- a/widget/dnd.go +++ b/widget/dnd.go @@ -56,7 +56,7 @@ func (d *Draggable) Dragging() bool { // requested to offer data, if any func (d *Draggable) Update(gtx layout.Context) (mime string, requested bool) { pos := d.pos - for _, ev := range d.drag.Events(gtx.Metric, gtx.Queue, gesture.Both) { + for _, ev := range d.drag.Update(gtx.Metric, gtx.Queue, gesture.Both) { switch ev.Kind { case pointer.Press: d.click = ev.Position diff --git a/widget/editor.go b/widget/editor.go index 3f7a4e76..d723f0ea 100644 --- a/widget/editor.go +++ b/widget/editor.go @@ -225,7 +225,7 @@ func (e *Editor) processPointer(gtx layout.Context) { axis = gesture.Vertical smin, smax = sbounds.Min.Y, sbounds.Max.Y } - sdist := e.scroller.Scroll(gtx.Metric, gtx, gtx.Now, axis) + sdist := e.scroller.Update(gtx.Metric, gtx, gtx.Now, axis) var soff int if e.SingleLine { e.text.ScrollRel(sdist, 0) @@ -305,10 +305,10 @@ func (e *Editor) processPointer(gtx layout.Context) { func (e *Editor) clickDragEvents(gtx layout.Context) []event.Event { var combinedEvents []event.Event - for _, evt := range e.clicker.Events(gtx) { + for _, evt := range e.clicker.Update(gtx) { combinedEvents = append(combinedEvents, evt) } - for _, evt := range e.dragger.Events(gtx.Metric, gtx, gesture.Both) { + for _, evt := range e.dragger.Update(gtx.Metric, gtx, gesture.Both) { combinedEvents = append(combinedEvents, evt) } return combinedEvents diff --git a/widget/enum.go b/widget/enum.go index 889c73b9..e114f1ae 100644 --- a/widget/enum.go +++ b/widget/enum.go @@ -46,7 +46,7 @@ func (e *Enum) Update(gtx layout.Context) bool { e.hovering = false changed := false for _, state := range e.keys { - for _, ev := range state.click.Events(gtx) { + for _, ev := range state.click.Update(gtx) { switch ev.Kind { case gesture.KindPress: if ev.Source == pointer.Mouse { diff --git a/widget/float.go b/widget/float.go index 04a7a055..52f0f595 100644 --- a/widget/float.go +++ b/widget/float.go @@ -48,7 +48,7 @@ func (f *Float) Layout(gtx layout.Context, axis layout.Axis, pointerMargin unit. // The range of f is set by the minimum constraints main axis value. func (f *Float) Update(gtx layout.Context) bool { changed := false - for _, e := range f.drag.Events(gtx.Metric, gtx, gesture.Axis(f.axis)) { + for _, e := range f.drag.Update(gtx.Metric, gtx, gesture.Axis(f.axis)) { if f.length > 0 && (e.Kind == pointer.Press || e.Kind == pointer.Drag) { pos := e.Position.X if f.axis == layout.Vertical { diff --git a/widget/list.go b/widget/list.go index 7248133c..250b0b3d 100644 --- a/widget/list.go +++ b/widget/list.go @@ -61,7 +61,7 @@ func (s *Scrollbar) Layout(gtx layout.Context, axis layout.Axis, viewportStart, } // Jump to a click in the track. - for _, event := range s.track.Events(gtx) { + for _, event := range s.track.Update(gtx) { if event.Kind != gesture.KindClick || event.Modifiers != key.Modifiers(0) || event.NumClicks > 1 { @@ -80,7 +80,7 @@ func (s *Scrollbar) Layout(gtx layout.Context, axis layout.Axis, viewportStart, } // Offset to account for any drags. - for _, event := range s.drag.Events(gtx.Metric, gtx, gesture.Axis(axis)) { + for _, event := range s.drag.Update(gtx.Metric, gtx, gesture.Axis(axis)) { switch event.Kind { case pointer.Drag: case pointer.Release, pointer.Cancel: @@ -136,7 +136,7 @@ func (s *Scrollbar) Layout(gtx layout.Context, axis layout.Axis, viewportStart, // Process events from the indicator so that hover is // detected properly. - _ = s.indicator.Events(gtx) + _ = s.indicator.Update(gtx) return layout.Dimensions{} } diff --git a/widget/selectable.go b/widget/selectable.go index c241ffef..882b3672 100644 --- a/widget/selectable.go +++ b/widget/selectable.go @@ -292,10 +292,10 @@ func (e *Selectable) processPointer(gtx layout.Context) { func (e *Selectable) clickDragEvents(gtx layout.Context) []event.Event { var combinedEvents []event.Event - for _, evt := range e.clicker.Events(gtx) { + for _, evt := range e.clicker.Update(gtx) { combinedEvents = append(combinedEvents, evt) } - for _, evt := range e.dragger.Events(gtx.Metric, gtx, gesture.Both) { + for _, evt := range e.dragger.Update(gtx.Metric, gtx, gesture.Both) { combinedEvents = append(combinedEvents, evt) } return combinedEvents