DoubleTapConfig.create constructor

DoubleTapConfig.create({
  1. double ignoreCenterWidth = 128,
  2. Widget iconRight = const Icon(Icons.fast_forward, color: Colors.white, size: 40),
  3. Widget iconLeft = const Icon(Icons.fast_rewind, color: Colors.white, size: 40),
  4. double curveBank = 40,
  5. Color ovalColor = Colors.white30,
  6. Color rippleColor = Colors.white30,
  7. Color backDrop = Colors.black26,
  8. Duration rippleExpansionTime = const Duration(milliseconds: 400),
  9. Duration expansionHoldingTime = const Duration(milliseconds: 200),
  10. Duration fadeTime = const Duration(milliseconds: 100),
  11. Duration backDropAnimDuration = const Duration(milliseconds: 400),
  12. TapCountWidgetBuilder? customWidgetBuilder,
  13. TextBuilder? labelBuilder,
  14. TextStyle labelStyle = const TextStyle(color: Colors.white),
  15. DoubleTapCallback? onDoubleTap,
})

factory constructor of DoubleTapConfig. DoubleTapConfig is widget config for DoubleTapPlayerView about double tap event

Implementation

factory DoubleTapConfig.create({
  double ignoreCenterWidth = 128,
  Widget iconRight = const Icon(
    Icons.fast_forward,
    color: Colors.white,
    size: 40,
  ),
  Widget iconLeft = const Icon(
    Icons.fast_rewind,
    color: Colors.white,
    size: 40,
  ),
  double curveBank = 40,
  Color ovalColor = Colors.white30,
  Color rippleColor = Colors.white30,
  Color backDrop = Colors.black26,
  Duration rippleExpansionTime = const Duration(milliseconds: 400),
  Duration expansionHoldingTime = const Duration(milliseconds: 200),
  Duration fadeTime = const Duration(milliseconds: 100),
  Duration backDropAnimDuration = const Duration(milliseconds: 400),
  TapCountWidgetBuilder? customWidgetBuilder,
  TextBuilder? labelBuilder,
  TextStyle labelStyle = const TextStyle(color: Colors.white),
  DoubleTapCallback? onDoubleTap,
}) {
  assert(0 <= curveBank);
  if (customWidgetBuilder != null)
    assert(labelBuilder == null,
        'if customWidgetBuilder is not null textBuilder must be null.'); //todo XOR CHECK
  return DoubleTapConfig._(
    vmConfL: ViewModelConfig(
      lr: Lr.LEFT,
      ignoreRangeFromCenter: ignoreCenterWidth / 2,
    ),
    vmConfR: ViewModelConfig(
      lr: Lr.RIGHT,
      ignoreRangeFromCenter: ignoreCenterWidth / 2,
    ),
    customWidgetBuilder: customWidgetBuilder,
    iconRight: iconRight,
    iconLeft: iconLeft,
    labelBuilder: labelBuilder,
    labelStyle: labelStyle,
    rippleExpansionTime: rippleExpansionTime,
    expansionHoldingTime: expansionHoldingTime,
    backDropAnimDuration: backDropAnimDuration,
    fadeTime: fadeTime,
    curveBank: curveBank,
    ovalColor: ovalColor,
    rippleColor: rippleColor,
    onDoubleTap: onDoubleTap,
    backDrop: backDrop,
  );
}