lerpGradientWithColor function
Implementation
Gradient? lerpGradientWithColor(Gradient? beginGradient, Gradient? endGradient,
Color? beginColor, Color? endColor, double t) {
if (beginGradient == null) {
if (endGradient == null) {
return null;
} else {
if (beginColor != null) {
if (endGradient is LinearGradient) {
return Gradient.lerp(
LinearGradient(colors: [beginColor, beginColor]), endGradient, t);
}
if (endGradient is RadialGradient) {
return Gradient.lerp(
RadialGradient(colors: [beginColor, beginColor]), endGradient, t);
}
if (endGradient is SweepGradient) {
return Gradient.lerp(
SweepGradient(colors: [beginColor, beginColor]), endGradient, t);
}
} else {
return Gradient.lerp(null, endGradient, t);
}
}
} else {
if (endGradient == null) {
if (endColor != null) {
if (beginGradient is LinearGradient) {
return Gradient.lerp(
beginGradient, LinearGradient(colors: [endColor, endColor]), t);
}
if (beginGradient is RadialGradient) {
return Gradient.lerp(
beginGradient, RadialGradient(colors: [endColor, endColor]), t);
}
if (beginGradient is SweepGradient) {
return Gradient.lerp(
beginGradient, SweepGradient(colors: [endColor, endColor]), t);
}
} else {
return Gradient.lerp(beginGradient, null, t);
}
} else {
return Gradient.lerp(beginGradient, endGradient, t);
}
}
}