lerp method

  1. @override
FTypeface lerp(
  1. covariant FTypeface? other,
  2. double t
)
override

Linearly interpolates between this FTypeface and other using the given factor t.

Implementation

@override
FTypeface lerp(covariant FTypeface? other, double t) {
  if (other == null) {
    return this;
  }

  return FTypeface(
    fontFamily: t < 0.5 ? fontFamily : other.fontFamily,
    fontFamilyFallback: t < 0.5 ? fontFamilyFallback : other.fontFamilyFallback,
    xs3: .lerp(xs3, other.xs3, t)!,
    xs2: .lerp(xs2, other.xs2, t)!,
    xs: .lerp(xs, other.xs, t)!,
    sm: .lerp(sm, other.sm, t)!,
    md: .lerp(md, other.md, t)!,
    lg: .lerp(lg, other.lg, t)!,
    xl: .lerp(xl, other.xl, t)!,
    xl2: .lerp(xl2, other.xl2, t)!,
    xl3: .lerp(xl3, other.xl3, t)!,
    xl4: .lerp(xl4, other.xl4, t)!,
    xl5: .lerp(xl5, other.xl5, t)!,
    xl6: .lerp(xl6, other.xl6, t)!,
    xl7: .lerp(xl7, other.xl7, t)!,
    xl8: .lerp(xl8, other.xl8, t)!,
    extensions: (_extensions.map(
      (id, extension) => MapEntry(id, extension.lerp(other._extensions[id], t)),
    )..addEntries(other._extensions.entries.where((entry) => !_extensions.containsKey(entry.key)))).values,
  );
}