Table of Contents

Class ScrollFlingAnimator

Namespace
DrawnUi.Draw
Assembly
DrawnUi.Maui.dll
public class ScrollFlingAnimator : SkiaValueAnimator, ISkiaAnimator, IDisposable
Inheritance
ScrollFlingAnimator
Implements
Inherited Members
Extension Methods

Constructors

ScrollFlingAnimator(IDrawnBase)

public ScrollFlingAnimator(IDrawnBase parent)

Parameters

parent IDrawnBase

Properties

CurrentVelocity

public float CurrentVelocity { get; protected set; }

Property Value

float

Parameters

public DecelerationTimingParameters Parameters { get; set; }

Property Value

DecelerationTimingParameters

SelfFinished

public bool SelfFinished { get; set; }

Property Value

bool

ValueThreshold

public float ValueThreshold { get; set; }

Property Value

float

Methods

InitializeWithDestination(float, float, float, float, float)

Initialize to reach a specific destination in given time

public void InitializeWithDestination(float position, float target, float timeSecs, float deceleration = 0.998, float valueThreshold = 0.1)

Parameters

position float

Starting position

target float

Target position

timeSecs float

Duration in seconds

deceleration float

Deceleration rate

valueThreshold float

Stop when value change per frame is below this

InitializeWithVelocity(float, float, float, float)

Initialize with velocity and optional value threshold for early termination

public void InitializeWithVelocity(float position, float velocity, float deceleration = 0.998, float valueThreshold = 1.85)

Parameters

position float

Starting position

velocity float

Initial velocity

deceleration float

Deceleration rate

valueThreshold float

Stop when value change per frame is below this

RunAsync(float, float, float, CancellationToken)

public Task RunAsync(float position, float velocity, float deceleration = 0.998, CancellationToken cancellationToken = default)

Parameters

position float
velocity float
deceleration float
cancellationToken CancellationToken

Returns

Task

Start(double)

public override void Start(double delayMs = 0)

Parameters

delayMs double

UpdateValue(long, long)

Update mValue using time distance between rendered frames. Return true if anims is finished.

protected override bool UpdateValue(long deltaT, long deltaFromStart)

Parameters

deltaT long
deltaFromStart long

Returns

bool