lerp static method

Linearly interpolates between two styles.

Implementation

static HeadingStyle? lerp(HeadingStyle? a, HeadingStyle? b, double t) {
  if (a == null && b == null) {
    return null;
  }
  if (a == null) {
    return t < 0.5 ? null : b;
  }
  if (b == null) {
    return t < 0.5 ? a : null;
  }
  return HeadingStyle(
    textStyle: TextStyle.lerp(a.textStyle, b.textStyle, t),
    padding: EdgeInsetsGeometry.lerp(a.padding, b.padding, t),
    showDivider: t < 0.5 ? a.showDivider : b.showDivider,
    dividerColor: Color.lerp(a.dividerColor, b.dividerColor, t),
    dividerThickness: lerpDouble(a.dividerThickness, b.dividerThickness, t),
    dividerPadding: EdgeInsetsGeometry.lerp(
      a.dividerPadding,
      b.dividerPadding,
      t,
    ),
  );
}