lerp static method

Linearly interpolate between two themes.

Implementation

static PullDownMenuItemTheme lerp(
  PullDownMenuItemTheme? a,
  PullDownMenuItemTheme? b,
  double t,
) {
  if (identical(a, b) && a != null) return a;

  return PullDownMenuItemTheme(
    destructiveColor: Color.lerp(a?.destructiveColor, b?.destructiveColor, t),
    iconSize: ui.lerpDouble(a?.iconSize, b?.iconSize, t),
    checkmark: _lerpIconData(a?.checkmark, b?.checkmark, t),
    checkmarkWeight:
        FontWeight.lerp(a?.checkmarkWeight, b?.checkmarkWeight, t),
    checkmarkSize: ui.lerpDouble(a?.checkmarkSize, b?.checkmarkSize, t),
    textStyle: TextStyle.lerp(a?.textStyle, b?.textStyle, t),
    iconActionTextStyle:
        TextStyle.lerp(a?.iconActionTextStyle, b?.iconActionTextStyle, t),
    onHoverColor: Color.lerp(a?.onHoverColor, b?.onHoverColor, t),
    onHoverTextStyle:
        TextStyle.lerp(a?.onHoverTextStyle, b?.onHoverTextStyle, t),
  );
}