lerpTo method

  1. @override
ISparklinesData lerpTo(
  1. ISparklinesData next,
  2. double t
)
override

Interpolate between this and next using interpolation factor t (0.0 to 1.0)

Implementation

@override
ISparklinesData lerpTo(ISparklinesData next, double t) {
  if (next is! PieData) return next;
  if (pies.length != next.pies.length) return next;
  if (visible != next.visible) return next;

  final interpolatedPies = <DataPoint>[];
  for (int i = 0; i < pies.length; i++) {
    interpolatedPies.add(pies[i].lerpTo(next.pies[i], t));
  }

  return PieData(
    visible: next.visible,
    rotation: next.rotation,
    flip: next.flip,
    origin: Offset.lerp(origin, next.origin, t) ?? next.origin,
    layout: next.layout,
    crop: next.crop,
    pies: interpolatedPies,
    thickness: thickness.lerpTo(next.thickness, t),
    pieOffset: lerpDouble(pieOffset, next.pieOffset, t) ?? next.pieOffset,
    padAngle: lerpDouble(padAngle, next.padAngle, t) ?? next.padAngle,
    border: ILerpTo.lerp(border, next.border, t),
    borderRadius: lerpDouble(borderRadius, next.borderRadius, t) ?? next.borderRadius,
  );
}