fromList static method

FlexTonalPalette fromList(
  1. List<int> colors, [
  2. FlexPaletteType paletteType = FlexPaletteType.common
])

Create colors from a fixed-size list of ARGB color ints.

Inverse of FlexTonalPalette.asList.

Implementation

static FlexTonalPalette fromList(
  List<int> colors, [
  FlexPaletteType paletteType = FlexPaletteType.common,
]) {
  assert(
      (colors.length == commonSize &&
              paletteType == FlexPaletteType.common) ||
          (colors.length == extendedSize &&
              paletteType == FlexPaletteType.extended),
      'Length must be $commonSize when using FlexPaletteType.common OR '
      'length must be $extendedSize when using FlexPaletteType.extended.');
  Map<int, int> cache;
  cache = <int, int>{};
  switch (paletteType) {
    case FlexPaletteType.common:
      commonTones.asMap().forEach(
          (int index, int toneValue) => cache[toneValue] = colors[index]);
    case FlexPaletteType.extended:
      extendedTones.asMap().forEach(
          (int index, int toneValue) => cache[toneValue] = colors[index]);
  }
  return FlexTonalPalette._fromCache(cache, paletteType);
}