@NonNullByDefault

Package ej.navigation.transition

Transitions animating the page changes of the Navigation Framework.

A Transition draws the frames of a page change. It is a painter, not an animator: it declares its duration and draws one frame per call, while the Navigator owns the clock and shows the incoming page live once the last frame is done.

A frame draws over the pixels the previous frame left on the display, which are the outgoing page: the navigator's container paints neither background nor outlines for the whole transition. A transition therefore draws the incoming page over a stationary outgoing one, through the TransitionContext it receives; the outgoing page is not reachable, so it can be neither moved nor faded. Because the previous frame must still be there to draw over, the transitions require a VEE Port whose buffer refresh strategy restores it into the back buffer.

The framework ships Transition.IMMEDIATE (the instant, non-animated default), FadeTransition, and SlideTransition; an application supplies its own by implementing Transition. Transitions are parameterized objects, not enum constants.