create method

  1. @override
InteractiveInkFeature create({
  1. required MaterialInkController controller,
  2. required RenderBox referenceBox,
  3. required TextDirection textDirection,
  4. Offset? position,
  5. required Color color,
  6. bool containedInkWell = false,
  7. RectCallback? rectCallback,
  8. BorderRadius? borderRadius,
  9. ShapeBorder? customBorder,
  10. double? radius,
  11. VoidCallback? onRemoved,
})
override

The factory method.

Subclasses should override this method to return a new instance of an InteractiveInkFeature.

Implementation

@override
InteractiveInkFeature create({
  required MaterialInkController controller,
  required RenderBox referenceBox,
  required TextDirection textDirection,
  Offset? position,
  required Color color,
  bool containedInkWell = false,
  RectCallback? rectCallback,
  BorderRadius? borderRadius,
  ShapeBorder? customBorder,
  double? radius,
  VoidCallback? onRemoved,
}) {
  return InkSparkle(
    controller: controller,
    referenceBox: referenceBox,
    position: position ?? referenceBox.size.center(Offset.zero),
    color: color.withOpacity(0.12), // Material 3 recommended opacity
    containedInkWell: containedInkWell,
    rectCallback: rectCallback,
    borderRadius: borderRadius ?? BorderRadius.circular(12.0),
    customBorder: customBorder,
    radius: radius,
    onRemoved: onRemoved,
    textDirection: textDirection,
  );
}