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.



    This section is empty.


    This section is empty.


    This section is empty.


    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.

          func (*Click) Hovered

          func (c *Click) Hovered() bool

            Hovered returns whether a pointer is inside the area.

            func (*Click) Pressed

            func (c *Click) Pressed() bool

              Pressed returns whether a pointer is pressing.

              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.

                func (ClickEvent) ImplementsEvent

                func (ClickEvent) ImplementsEvent()

                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) Dragging

                    func (d *Drag) Dragging() bool

                      Dragging reports whether it's currently in use.

                      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, bounds image.Rectangle)

                            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

                                  Source Files