route static method

RouteTransitionFactory route({
  1. required CrossTransition background,
  2. required CrossTransition foreground,
  3. bool reverse = false,
})

Implementation

static RouteTransitionFactory route(
        {required CrossTransition background,
        required CrossTransition foreground,
        bool reverse = false}) =>
    (context, setup, child) {
      if (setup.backgroundActive && setup.foregroundActive) {
        return child;
      }

      if (setup.backgroundActive) {
        if (setup.backgroundIncoming) {
          return background.transitionIn
              .call(child, ReverseAnimation(setup.outgoingAnimation));
        }

        if (setup.backgroundOutgoing) {
          return background.transitionOut
              .call(child, ReverseAnimation(setup.outgoingAnimation));
        }
      }

      if (setup.foregroundActive) {
        if (setup.foregroundIncoming) {
          return foreground.transitionIn.call(child, setup.incomingAnimation);
        }

        if (setup.foregroundOutgoing) {
          return foreground.transitionOut
              .call(child, setup.incomingAnimation);
        }
      }

      return child;
    };