getTertiaryPalette method

  1. @override
TonalPalette getTertiaryPalette(
  1. Variant variant,
  2. Hct sourceColorHct,
  3. bool isDark,
  4. Platform platform,
  5. double contrastLevel,
)
override

Implementation

@override
TonalPalette getTertiaryPalette(
  Variant variant,
  Hct sourceColorHct,
  bool isDark,
  Platform platform,
  double contrastLevel,
) => switch (variant) {
  .content => .fromHct(
    DislikeAnalyzer.fixIfDisliked(
      TemperatureCache(sourceColorHct).getAnalogousColors(3, 6)[2],
    ),
  ),
  .fidelity => .fromHct(
    DislikeAnalyzer.fixIfDisliked(
      TemperatureCache(sourceColorHct).getComplement(),
    ),
  ),
  .fruitSalad => .fromHueAndChroma(sourceColorHct.hue, 36.0),
  .monochrome => .fromHueAndChroma(sourceColorHct.hue, 0.0),
  .neutral => .fromHueAndChroma(sourceColorHct.hue, 16.0),
  .rainbow || .tonalSpot => .fromHueAndChroma(
    MathUtils.sanitizeDegreesDouble(sourceColorHct.hue + 60.0),
    24.0,
  ),
  .expressive => .fromHueAndChroma(
    DynamicScheme.getRotatedHue(
      sourceColorHct,
      [0.0, 21.0, 51.0, 121.0, 151.0, 191.0, 271.0, 321.0, 360.0],
      [120.0, 120.0, 20.0, 45.0, 20.0, 15.0, 20.0, 120.0, 120.0],
    ),
    32.0,
  ),
  .vibrant => .fromHueAndChroma(
    DynamicScheme.getRotatedHue(
      sourceColorHct,
      [0.0, 41.0, 61.0, 101.0, 131.0, 181.0, 251.0, 301.0, 360.0],
      [35.0, 30.0, 20.0, 25.0, 30.0, 35.0, 30.0, 25.0, 25.0],
    ),
    32.0,
  ),
};