lerp static method
Implementation
static SfChatThemeData? lerp(
SfChatThemeData? a, SfChatThemeData? b, double t) {
if (a == null && b == null) {
return null;
}
return SfChatThemeData(
actionButtonForegroundColor: Color.lerp(
a!.actionButtonForegroundColor, b!.actionButtonForegroundColor, t),
actionButtonBackgroundColor: Color.lerp(
a.actionButtonBackgroundColor, b.actionButtonBackgroundColor, t),
actionButtonFocusColor:
Color.lerp(a.actionButtonFocusColor, b.actionButtonFocusColor, t),
actionButtonHoverColor:
Color.lerp(a.actionButtonHoverColor, b.actionButtonHoverColor, t),
actionButtonSplashColor:
Color.lerp(a.actionButtonSplashColor, b.actionButtonSplashColor, t),
actionButtonDisabledForegroundColor: Color.lerp(
a.actionButtonDisabledForegroundColor,
b.actionButtonDisabledForegroundColor,
t),
actionButtonDisabledBackgroundColor: Color.lerp(
a.actionButtonDisabledBackgroundColor,
b.actionButtonDisabledBackgroundColor,
t),
actionButtonElevation:
lerpDouble(a.actionButtonElevation, b.actionButtonElevation, t) ??
0.0,
actionButtonFocusElevation: lerpDouble(
a.actionButtonFocusElevation, b.actionButtonFocusElevation, t) ??
0.0,
actionButtonHoverElevation: lerpDouble(
a.actionButtonHoverElevation, b.actionButtonHoverElevation, t) ??
0.0,
actionButtonDisabledElevation: lerpDouble(a.actionButtonDisabledElevation,
b.actionButtonDisabledElevation, t) ??
0.0,
actionButtonHighlightElevation: lerpDouble(
a.actionButtonHighlightElevation,
b.actionButtonHighlightElevation,
t) ??
0.0,
actionButtonShape:
ShapeBorder.lerp(a.actionButtonShape, b.actionButtonShape, t),
actionButtonMouseCursor:
t < 0.5 ? a.actionButtonMouseCursor : b.actionButtonMouseCursor,
outgoingBubbleContentBackgroundColor: Color.lerp(
a.outgoingBubbleContentBackgroundColor,
b.outgoingBubbleContentBackgroundColor,
t),
incomingBubbleContentBackgroundColor: Color.lerp(
a.incomingBubbleContentBackgroundColor,
b.incomingBubbleContentBackgroundColor,
t),
editorTextStyle: TextStyle.lerp(a.editorTextStyle, b.editorTextStyle, t),
outgoingContentTextStyle: TextStyle.lerp(
a.outgoingContentTextStyle, b.outgoingContentTextStyle, t),
incomingContentTextStyle: TextStyle.lerp(
a.incomingContentTextStyle, b.incomingContentTextStyle, t),
outgoingPrimaryHeaderTextStyle: TextStyle.lerp(
a.outgoingPrimaryHeaderTextStyle,
b.outgoingPrimaryHeaderTextStyle,
t),
incomingPrimaryHeaderTextStyle: TextStyle.lerp(
a.incomingPrimaryHeaderTextStyle,
b.incomingPrimaryHeaderTextStyle,
t),
outgoingSecondaryHeaderTextStyle: TextStyle.lerp(
a.outgoingSecondaryHeaderTextStyle,
b.outgoingSecondaryHeaderTextStyle,
t),
incomingSecondaryHeaderTextStyle: TextStyle.lerp(
a.incomingSecondaryHeaderTextStyle,
b.incomingSecondaryHeaderTextStyle,
t),
outgoingBubbleContentShape: ShapeBorder.lerp(
a.outgoingBubbleContentShape, b.outgoingBubbleContentShape, t),
incomingBubbleContentShape: ShapeBorder.lerp(
a.incomingBubbleContentShape, b.incomingBubbleContentShape, t),
);
}