Back to / gesture

package gesture

v0.0.0 (40141e2)
Latest Go to latest
Published: 4 hours ago | Licenses: MIT, Unlicense | Module:


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.


Package Files

  • gesture.go

type Axis

type Axis uint8
const (
	Horizontal Axis = iota

func (Axis) String

func (a Axis) String() string

type Click

type Click struct {
	// contains filtered or unexported fields

Click detects click gestures in the form of ClickEvents.

func (*Click) Add

func (c *Click) Add(ops *op.Ops)

Add the handler to the operation list to receive click events.

func (*Click) Events

func (c *Click) Events(q event.Queue) []ClickEvent

Events returns the next click event, if any.

type ClickEvent

type ClickEvent struct {
	Type      ClickType
	Position  f32.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 TypePress for the beginning of a click or a TypeClick for a completed click.

type ClickState

type ClickState uint8

type ClickType

type ClickType uint8
const (
	// TypePress is reported for the first pointer
	// press.
	TypePress ClickType = iota
	// TypeClick is reported when a click action
	// is complete.
	// TypeCancel is reported when the gesture is
	// cancelled.

func (ClickType) String

func (ct ClickType) String() 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

func (d *Drag) Add(ops *op.Ops)

Add the handler to the operation list to receive drag events.

func (*Drag) Events

func (d *Drag) Events(cfg unit.Metric, q event.Queue, axis Axis) []pointer.Event

Events returns the next drag events, if any.

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

func (s *Scroll) Add(ops *op.Ops)

Add the handler to the operation list to receive scroll events.

func (*Scroll) Scroll

func (s *Scroll) Scroll(cfg unit.Metric, q event.Queue, t time.Time, axis Axis) int

Scroll detects the scrolling distance from the available events and ongoing fling gestures.

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.

type ScrollState

type ScrollState uint8
const (
	// StateIdle is the default scroll state.
	StateIdle ScrollState = iota
	// StateDrag is reported during drag gestures.
	// StateFlinging is reported when a fling is
	// in progress.

func (ScrollState) String

func (s ScrollState) String() string
Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier