Transition class abstract

Describes a navigation between two routes.

A transition is a specification, not a node. A Router drives the timeline, periodically asking for the pose. If the transition has chrome, the router also mounts it for the duration of the navigation, allowing it to be posed as well.

Transitions are intended to be reusable and reversible. Keep these requirements in mind when implementing a custom apply.

Implementers

Constructors

Transition({required Timeline timeline, Activity? incoming, Activity? outgoing})

Properties

chrome → Node?
This transition's own visuals, mounted above the host's whole subtree for the length of the navigation. Null for none.
no setter
hashCode → int
The hash code for this object.
no setterinherited
incoming → Activity
What the arriving route takes part in while this runs.
final
outgoing → Activity
What the departing route takes part in while this runs.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
timeline → Timeline
This transition's clock, driven by a Router.
final

Methods

apply(double progress, RouteNode incoming, RouteNode? outgoing) → void
Poses both sides at progress by writing onto the routes, whose size is the region being routed. outgoing is null on a push, where nothing is leaving and the covered route is its Backdrop's to pose. Runs once when the navigation starts and once per tick after the clock moves, so rendering always sees the pose.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited