fling

package
v0.4.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 12, 2025 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

This package is copied from Gio internal fling package: https://github.com/gioui/gio/tree/main/internal/fling. All the credits to the Gio authors and its contributors.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Animation

type Animation struct {
	// contains filtered or unexported fields
}

func (*Animation) Active

func (f *Animation) Active() bool

func (*Animation) Start

func (f *Animation) Start(c unit.Metric, now time.Time, velocity float32) bool

Start a fling given a starting velocity. Returns whether a fling was started.

func (*Animation) Tick

func (f *Animation) Tick(now time.Time) int

Tick computes and returns a fling distance since the last time Tick was called.

type Estimate

type Estimate struct {
	Velocity float32
	Distance float32
}

type Extrapolation

type Extrapolation struct {
	// contains filtered or unexported fields
}

Extrapolation computes a 1-dimensional velocity estimate for a set of timestamped points using the least squares fit of a 2nd order polynomial. The same method is used by Android.

func (*Extrapolation) Estimate

func (e *Extrapolation) Estimate() Estimate

Velocity returns an estimate of the implied velocity and distance for the points sampled, or zero if the estimation method failed.

func (*Extrapolation) Sample

func (e *Extrapolation) Sample(t time.Duration, val float32)

Sample adds an absolute sample to the estimation.

func (*Extrapolation) SampleDelta

func (e *Extrapolation) SampleDelta(t time.Duration, delta float32)

SampleDelta adds a relative sample to the estimation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL