Logo FS-Skia-UI

AnimationState Module

Public contract module exposed by this FS.Skia.UI package.

Functions and values

Function or value Description

advance delta state

Full Usage: advance delta state

Parameters:
Returns: AnimationState<'a>
Type parameters: 'a

Adds the delta to `Elapsed` (capped at `Duration`) and recomputes `Current` via easing `Start`→`Target`.

delta : TimeSpan
state : AnimationState<'a>
Returns: AnimationState<'a>

create interp initial duration easing

Full Usage: create interp initial duration easing

Parameters:
    interp : 'a -> 'a -> float -> 'a
    initial : 'a
    duration : TimeSpan
    easing : Easing

Returns: AnimationState<'a>
Type parameters: 'a

Initial state: `Current = Start = Target = initial`, `Elapsed = 0`. The `interp` argument is the per-`'a` interpolant (`lerpFloat` / `Color.lerp` / `Transform.lerp`).

interp : 'a -> 'a -> float -> 'a
initial : 'a
duration : TimeSpan
easing : Easing
Returns: AnimationState<'a>

isActive state

Full Usage: isActive state

Parameters:
Returns: bool
Type parameters: 'a (requires equality)

True while the transition is still in flight (`Elapsed < Duration && Current <> Target`).

state : AnimationState<'a>
Returns: bool

retarget newTarget state

Full Usage: retarget newTarget state

Parameters:
Returns: AnimationState<'a>
Type parameters: 'a

Retargets from the currently displayed value: `Start = Current`, `Target = newTarget`, `Elapsed = 0` — continues from the displayed value, no snap-back (FR-005).

newTarget : 'a
state : AnimationState<'a>
Returns: AnimationState<'a>

value state

Full Usage: value state

Parameters:
Returns: 'a
Type parameters: 'a

Returns the currently displayed value (`Current`).

state : AnimationState<'a>
Returns: 'a

Type something to start searching.