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 <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2023-10-07 10:30:34 -05:00
parent dc170033cd
commit c756986d9e
10 changed files with 24 additions and 25 deletions
+8 -9
View File
@@ -43,8 +43,8 @@ func (h *Hover) Add(ops *op.Ops) {
}.Add(ops) }.Add(ops)
} }
// Hovered returns whether a pointer is inside the area. // Update state and report whether a pointer is inside the area.
func (h *Hover) Hovered(q event.Queue) bool { func (h *Hover) Update(q event.Queue) bool {
for _, ev := range q.Events(h) { for _, ev := range q.Events(h) {
e, ok := ev.(pointer.Event) e, ok := ev.(pointer.Event)
if !ok { if !ok {
@@ -177,8 +177,8 @@ func (c *Click) Pressed() bool {
return c.pressed return c.pressed
} }
// Events returns the next click events, if any. // Update state and return the click events.
func (c *Click) Events(q event.Queue) []ClickEvent { func (c *Click) Update(q event.Queue) []ClickEvent {
var events []ClickEvent var events []ClickEvent
for _, evt := range q.Events(c) { for _, evt := range q.Events(c) {
e, ok := evt.(pointer.Event) e, ok := evt.(pointer.Event)
@@ -268,9 +268,8 @@ func (s *Scroll) Stop() {
s.flinger = fling.Animation{} s.flinger = fling.Animation{}
} }
// Scroll detects the scrolling distance from the available events and // Update state and report the scroll distance along axis.
// ongoing fling gestures. func (s *Scroll) Update(cfg unit.Metric, q event.Queue, t time.Time, axis Axis) int {
func (s *Scroll) Scroll(cfg unit.Metric, q event.Queue, t time.Time, axis Axis) int {
if s.axis != axis { if s.axis != axis {
s.axis = axis s.axis = axis
return 0 return 0
@@ -372,8 +371,8 @@ func (d *Drag) Add(ops *op.Ops) {
}.Add(ops) }.Add(ops)
} }
// Events returns the next drag events, if any. // Update state and return the drag events.
func (d *Drag) Events(cfg unit.Metric, q event.Queue, axis Axis) []pointer.Event { func (d *Drag) Update(cfg unit.Metric, q event.Queue, axis Axis) []pointer.Event {
var events []pointer.Event var events []pointer.Event
for _, e := range q.Events(d) { for _, e := range q.Events(d) {
e, ok := e.(pointer.Event) e, ok := e.(pointer.Event)
+3 -3
View File
@@ -28,14 +28,14 @@ func TestHover(t *testing.T) {
r.Queue( r.Queue(
pointer.Event{Kind: pointer.Move, Position: f32.Pt(30, 30)}, pointer.Event{Kind: pointer.Move, Position: f32.Pt(30, 30)},
) )
if !h.Hovered(r) { if !h.Update(r) {
t.Fatal("expected hovered") t.Fatal("expected hovered")
} }
r.Queue( r.Queue(
pointer.Event{Kind: pointer.Move, Position: f32.Pt(50, 50)}, pointer.Event{Kind: pointer.Move, Position: f32.Pt(50, 50)},
) )
if h.Hovered(r) { if h.Update(r) {
t.Fatal("expected not hovered") t.Fatal("expected not hovered")
} }
} }
@@ -75,7 +75,7 @@ func TestMouseClicks(t *testing.T) {
r.Frame(&ops) r.Frame(&ops)
r.Queue(tc.events...) r.Queue(tc.events...)
events := click.Events(&r) events := click.Update(&r)
clicks := filterMouseClicks(events) clicks := filterMouseClicks(events)
if got, want := len(clicks), len(tc.clicks); got != want { if got, want := len(clicks), len(tc.clicks); got != want {
t.Fatalf("got %d mouse clicks, expected %d", got, want) t.Fatalf("got %d mouse clicks, expected %d", got, want)
+1 -1
View File
@@ -144,7 +144,7 @@ func (l *List) Dragging() bool {
} }
func (l *List) update(gtx Context) { 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.scrollDelta = d
l.Position.Offset += d l.Position.Offset += d
} }
+1 -1
View File
@@ -141,7 +141,7 @@ func (b *Clickable) Update(gtx layout.Context) []Click {
NumClicks: c, NumClicks: c,
}) })
} }
for _, e := range b.click.Events(gtx) { for _, e := range b.click.Update(gtx) {
switch e.Kind { switch e.Kind {
case gesture.KindClick: case gesture.KindClick:
if l := len(b.history); l > 0 { if l := len(b.history); l > 0 {
+1 -1
View File
@@ -56,7 +56,7 @@ func (d *Draggable) Dragging() bool {
// requested to offer data, if any // requested to offer data, if any
func (d *Draggable) Update(gtx layout.Context) (mime string, requested bool) { func (d *Draggable) Update(gtx layout.Context) (mime string, requested bool) {
pos := d.pos 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 { switch ev.Kind {
case pointer.Press: case pointer.Press:
d.click = ev.Position d.click = ev.Position
+3 -3
View File
@@ -225,7 +225,7 @@ func (e *Editor) processPointer(gtx layout.Context) {
axis = gesture.Vertical axis = gesture.Vertical
smin, smax = sbounds.Min.Y, sbounds.Max.Y 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 var soff int
if e.SingleLine { if e.SingleLine {
e.text.ScrollRel(sdist, 0) 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 { func (e *Editor) clickDragEvents(gtx layout.Context) []event.Event {
var combinedEvents []event.Event var combinedEvents []event.Event
for _, evt := range e.clicker.Events(gtx) { for _, evt := range e.clicker.Update(gtx) {
combinedEvents = append(combinedEvents, evt) 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) combinedEvents = append(combinedEvents, evt)
} }
return combinedEvents return combinedEvents
+1 -1
View File
@@ -46,7 +46,7 @@ func (e *Enum) Update(gtx layout.Context) bool {
e.hovering = false e.hovering = false
changed := false changed := false
for _, state := range e.keys { for _, state := range e.keys {
for _, ev := range state.click.Events(gtx) { for _, ev := range state.click.Update(gtx) {
switch ev.Kind { switch ev.Kind {
case gesture.KindPress: case gesture.KindPress:
if ev.Source == pointer.Mouse { if ev.Source == pointer.Mouse {
+1 -1
View File
@@ -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. // The range of f is set by the minimum constraints main axis value.
func (f *Float) Update(gtx layout.Context) bool { func (f *Float) Update(gtx layout.Context) bool {
changed := false 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) { if f.length > 0 && (e.Kind == pointer.Press || e.Kind == pointer.Drag) {
pos := e.Position.X pos := e.Position.X
if f.axis == layout.Vertical { if f.axis == layout.Vertical {
+3 -3
View File
@@ -61,7 +61,7 @@ func (s *Scrollbar) Layout(gtx layout.Context, axis layout.Axis, viewportStart,
} }
// Jump to a click in the track. // 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 || if event.Kind != gesture.KindClick ||
event.Modifiers != key.Modifiers(0) || event.Modifiers != key.Modifiers(0) ||
event.NumClicks > 1 { event.NumClicks > 1 {
@@ -80,7 +80,7 @@ func (s *Scrollbar) Layout(gtx layout.Context, axis layout.Axis, viewportStart,
} }
// Offset to account for any drags. // 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 { switch event.Kind {
case pointer.Drag: case pointer.Drag:
case pointer.Release, pointer.Cancel: 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 // Process events from the indicator so that hover is
// detected properly. // detected properly.
_ = s.indicator.Events(gtx) _ = s.indicator.Update(gtx)
return layout.Dimensions{} return layout.Dimensions{}
} }
+2 -2
View File
@@ -292,10 +292,10 @@ func (e *Selectable) processPointer(gtx layout.Context) {
func (e *Selectable) clickDragEvents(gtx layout.Context) []event.Event { func (e *Selectable) clickDragEvents(gtx layout.Context) []event.Event {
var combinedEvents []event.Event var combinedEvents []event.Event
for _, evt := range e.clicker.Events(gtx) { for _, evt := range e.clicker.Update(gtx) {
combinedEvents = append(combinedEvents, evt) 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) combinedEvents = append(combinedEvents, evt)
} }
return combinedEvents return combinedEvents