lerp static method

Linearly interpolate between two themes.

The arguments must not be null.

Implementation

static SfMapsThemeData? lerp(
    SfMapsThemeData? a, SfMapsThemeData? b, double t) {
  if (a == null && b == null) {
    return null;
  }
  return SfMapsThemeData(
    layerColor: Color.lerp(a!.layerColor, b!.layerColor, t),
    layerStrokeColor: Color.lerp(a.layerStrokeColor, b.layerStrokeColor, t),
    layerStrokeWidth: lerpDouble(a.layerStrokeWidth, b.layerStrokeWidth, t)!,
    shapeHoverColor: Color.lerp(a.shapeHoverColor, b.shapeHoverColor, t),
    shapeHoverStrokeColor:
        Color.lerp(a.shapeHoverStrokeColor, b.shapeHoverStrokeColor, t),
    shapeHoverStrokeWidth:
        lerpDouble(a.shapeHoverStrokeWidth, b.shapeHoverStrokeWidth, t),
    legendTextStyle: TextStyle.lerp(a.legendTextStyle, b.legendTextStyle, t),
    markerIconColor: Color.lerp(a.markerIconColor, b.markerIconColor, t),
    markerIconStrokeColor:
        Color.lerp(a.markerIconStrokeColor, b.markerIconStrokeColor, t),
    markerIconStrokeWidth:
        lerpDouble(a.markerIconStrokeWidth, b.markerIconStrokeWidth, t)!,
    dataLabelTextStyle:
        TextStyle.lerp(a.dataLabelTextStyle, b.dataLabelTextStyle, t),
    bubbleColor: Color.lerp(a.bubbleColor, b.bubbleColor, t),
    bubbleStrokeColor:
        Color.lerp(a.bubbleStrokeColor, b.bubbleStrokeColor, t),
    bubbleStrokeWidth:
        lerpDouble(a.bubbleStrokeWidth, b.bubbleStrokeWidth, t)!,
    bubbleHoverColor: Color.lerp(a.bubbleHoverColor, b.bubbleHoverColor, t),
    bubbleHoverStrokeColor:
        Color.lerp(a.bubbleHoverStrokeColor, b.bubbleHoverStrokeColor, t),
    bubbleHoverStrokeWidth:
        lerpDouble(a.bubbleHoverStrokeWidth, b.bubbleHoverStrokeWidth, t),
    selectionColor: Color.lerp(a.selectionColor, b.selectionColor, t),
    selectionStrokeColor:
        Color.lerp(a.selectionStrokeColor, b.selectionStrokeColor, t),
    selectionStrokeWidth:
        lerpDouble(a.selectionStrokeWidth, b.selectionStrokeWidth, t)!,
    tooltipColor: Color.lerp(a.tooltipColor, b.tooltipColor, t),
    tooltipStrokeColor:
        Color.lerp(a.tooltipStrokeColor, b.tooltipStrokeColor, t),
    tooltipStrokeWidth:
        lerpDouble(a.tooltipStrokeWidth, b.tooltipStrokeWidth, t)!,
    tooltipBorderRadius: BorderRadiusGeometry.lerp(
        a.tooltipBorderRadius, b.tooltipBorderRadius, t)!,
    toggledItemColor: Color.lerp(a.toggledItemColor, b.toggledItemColor, t),
    toggledItemStrokeColor:
        Color.lerp(a.toggledItemStrokeColor, b.toggledItemStrokeColor, t),
    toggledItemStrokeWidth:
        lerpDouble(a.toggledItemStrokeWidth, b.toggledItemStrokeWidth, t),
  );
}