PathSplash constructor
PathSplash({
- required MaterialInkController controller,
- required RenderBox referenceBox,
- required Color color,
- required TextDirection textDirection,
- VoidCallback? onRemoved,
- required Path path,
- Paint? customPaint,
- required bool clip,
- bool containedInkWell = false,
- RectCallback? rectCallback,
- BorderRadius? borderRadius,
- ShapeBorder? customBorder,
- double? radius,
Implementation
PathSplash({
required MaterialInkController controller,
required RenderBox referenceBox,
required Color color,
required TextDirection textDirection,
VoidCallback? onRemoved,
required this.path,
Paint? customPaint,
required this.clip,
bool containedInkWell = false,
RectCallback? rectCallback,
BorderRadius? borderRadius,
ShapeBorder? customBorder,
double? radius,
}) : _textDirection = textDirection,
_borderRadius = borderRadius ?? BorderRadius.zero,
_customBorder = customBorder,
_clipCallback =
_getClipCallback(referenceBox, containedInkWell, rectCallback),
_radius = radius,
super(
controller: controller,
referenceBox: referenceBox,
color: color,
onRemoved: onRemoved,
) {
_progressController = AnimationController(
duration: _kProgressDuration,
vsync: controller.vsync,
)
..addListener(controller.markNeedsPaint)
..forward();
_progressAnimation = _progressController.drive(Tween<double>(
begin: 0,
end: 1,
));
if (customPaint == null) {
paint = Paint()
..color = color
..strokeWidth = 7
..strokeCap = StrokeCap.round
..style = PaintingStyle.stroke;
} else {
paint = customPaint;
}
controller.addInkFeature(this);
}