package gesture
import "gioui.org/gesture"
Package gesture implements common pointer gestures.
Gestures accept low level pointer Events from an event Queue and detect higher level actions such as clicks and scrolling.
Index ¶
- type Axis
- type Click
- func (c *Click) Add(ops *op.Ops)
- func (c *Click) Hovered() bool
- func (c *Click) Pressed() bool
- func (c *Click) Update(q input.Source) (ClickEvent, bool)
- type ClickEvent
- type ClickKind
- type Drag
- func (d *Drag) Add(ops *op.Ops)
- func (d *Drag) Dragging() bool
- func (d *Drag) Pressed() bool
- func (d *Drag) Update(cfg unit.Metric, q input.Source, axis Axis) (pointer.Event, bool)
- type Hover
- type Scroll
- func (s *Scroll) Add(ops *op.Ops)
- func (s *Scroll) State() ScrollState
- func (s *Scroll) Stop()
- func (s *Scroll) Update(cfg unit.Metric, q input.Source, t time.Time, axis Axis, scrollx, scrolly pointer.ScrollRange) int
- type ScrollState
Types ¶
type Axis ¶
type Axis uint8
func (Axis) String ¶
type Click ¶
type Click struct {
// contains filtered or unexported fields
}
Click detects click gestures in the form of ClickEvents.
func (*Click) Add ¶
Add the handler to the operation list to receive click events.
func (*Click) Hovered ¶
Hovered returns whether a pointer is inside the area.
func (*Click) Pressed ¶
Pressed returns whether a pointer is pressing.
func (*Click) Update ¶
func (c *Click) Update(q input.Source) (ClickEvent, bool)
Update state and return the next click events, if any.
type ClickEvent ¶
type ClickEvent struct { Kind ClickKind Position image.Point Source pointer.Source Modifiers key.Modifiers // NumClicks records successive clicks occurring // within a short duration of each other. NumClicks int }
ClickEvent represent a click action, either a KindPress for the beginning of a click or a KindClick for a completed click.
func (ClickEvent) ImplementsEvent ¶
func (ClickEvent) ImplementsEvent()
type ClickKind ¶
type ClickKind uint8
const ( // KindPress is reported for the first pointer // press. KindPress ClickKind = iota // KindClick is reported when a click action // is complete. KindClick // KindCancel is reported when the gesture is // cancelled. KindCancel )
func (ClickKind) String ¶
type Drag ¶
type Drag struct {
// contains filtered or unexported fields
}
Drag detects drag gestures in the form of pointer.Drag events.
func (*Drag) Add ¶
Add the handler to the operation list to receive drag events.
func (*Drag) Dragging ¶
Dragging reports whether it is currently in use.
func (*Drag) Pressed ¶
Pressed returns whether a pointer is pressing.
func (*Drag) Update ¶
Update state and return the next drag event, if any.
type Hover ¶
type Hover struct {
// contains filtered or unexported fields
}
Hover detects the hover gesture for a pointer area.
func (*Hover) Add ¶
Add the gesture to detect hovering over the current pointer area.
func (*Hover) Update ¶
Update state and report whether a pointer is inside the area.
type Scroll ¶
type Scroll struct {
// contains filtered or unexported fields
}
Scroll detects scroll gestures and reduces them to scroll distances. Scroll recognizes mouse wheel movements as well as drag and fling touch gestures.
func (*Scroll) Add ¶
Add the handler to the operation list to receive scroll events. The bounds variable refers to the scrolling boundaries as defined in pointer.Filter.
func (*Scroll) State ¶
func (s *Scroll) State() ScrollState
State reports the scroll state.
func (*Scroll) Stop ¶
func (s *Scroll) Stop()
Stop any remaining fling movement.
func (*Scroll) Update ¶
func (s *Scroll) Update(cfg unit.Metric, q input.Source, t time.Time, axis Axis, scrollx, scrolly pointer.ScrollRange) int
Update state and report the scroll distance along axis.
type ScrollState ¶
type ScrollState uint8
const ( // StateIdle is the default scroll state. StateIdle ScrollState = iota // StateDragging is reported during drag gestures. StateDragging // StateFlinging is reported when a fling is // in progress. StateFlinging )
func (ScrollState) String ¶
func (s ScrollState) String() string
Source Files ¶
gesture.go
- Version
- v0.8.0 (latest)
- Published
- Jan 14, 2025
- Platform
- linux/amd64
- Imports
- 12 packages
- Last checked
- 12 hours ago –
Tools for package owners.