lerp static method

Linearly interpolate between two FlutterFolderViewThemes

Implementation

static FlutterFolderViewTheme lerp(
  FlutterFolderViewTheme? a,
  FlutterFolderViewTheme? b,
  double t,
) {
  if (a == null && b == null) {
    return FlutterFolderViewTheme.light();
  }
  if (a == null) return b!;
  if (b == null) return a;

  return FlutterFolderViewTheme(
    lineTheme: FolderViewLineTheme.lerp(a.lineTheme, b.lineTheme, t),
    scrollbarTheme: FolderViewScrollbarTheme.lerp(
      a.scrollbarTheme,
      b.scrollbarTheme,
      t,
    ),
    textTheme: FolderViewTextTheme.lerp(a.textTheme, b.textTheme, t),
    iconTheme: FolderViewIconTheme.lerp(a.iconTheme, b.iconTheme, t),
    spacingTheme: FolderViewSpacingTheme.lerp(
      a.spacingTheme,
      b.spacingTheme,
      t,
    ),
    nodeStyleTheme: FolderViewNodeStyleTheme.lerp(
      a.nodeStyleTheme,
      b.nodeStyleTheme,
      t,
    ),
  );
}