lerp method

Linearly interpolate from one StreamMessageInputThemeData to another.

Implementation

StreamMessageInputThemeData lerp(
  StreamMessageInputThemeData a,
  StreamMessageInputThemeData b,
  double t,
) {
  return StreamMessageInputThemeData(
    actionButtonColor:
        Color.lerp(a.actionButtonColor, b.actionButtonColor, t),
    actionButtonIdleColor:
        Color.lerp(a.actionButtonIdleColor, b.actionButtonIdleColor, t),
    activeBorderGradient:
        Gradient.lerp(a.activeBorderGradient, b.activeBorderGradient, t),
    borderRadius: BorderRadius.lerp(a.borderRadius, b.borderRadius, t),
    expandButtonColor:
        Color.lerp(a.expandButtonColor, b.expandButtonColor, t),
    idleBorderGradient:
        Gradient.lerp(a.idleBorderGradient, b.idleBorderGradient, t),
    inputBackgroundColor:
        Color.lerp(a.inputBackgroundColor, b.inputBackgroundColor, t),
    inputTextStyle: TextStyle.lerp(a.inputTextStyle, b.inputTextStyle, t),
    sendButtonColor: Color.lerp(a.sendButtonColor, b.sendButtonColor, t),
    sendButtonIdleColor:
        Color.lerp(a.sendButtonIdleColor, b.sendButtonIdleColor, t),
    sendAnimationDuration: a.sendAnimationDuration,
    inputDecoration: a.inputDecoration,
    enableSafeArea: a.enableSafeArea,
    elevation: lerpDouble(a.elevation, b.elevation, t),
    shadow: BoxShadow.lerp(a.shadow, b.shadow, t),
  );
}