ShaderPageRoute<T> constructor

ShaderPageRoute<T>({
  1. required Widget page,
  2. ShaderTransition transition = const DiamondTransition(),
  3. VoidCallback? onStart,
  4. VoidCallback? onComplete,
  5. ValueChanged<double>? onProgress,
  6. bool? swipeBack,
  7. RouteSettings? settings,
})

Implementation

ShaderPageRoute({
  required Widget page,
  this.transition = const DiamondTransition(),
  VoidCallback? onStart,
  VoidCallback? onComplete,
  ValueChanged<double>? onProgress,
  this.swipeBack,
  super.settings,
}) : super(
        // CRITICAL: keep the outgoing route rendered underneath.
        opaque: false,
        barrierColor: null,
        pageBuilder: (_, __, ___) => page,
        // One duration for both directions; any cover hold lives inside
        // this window (clamped by ShaderMaskTransition).
        transitionDuration: transition.duration,
        reverseTransitionDuration: transition.duration,
        transitionsBuilder: ShaderTransitionBuilders.create(
          transition,
          onStart: onStart,
          onComplete: onComplete,
          onProgress: onProgress,
        ),
      );