clayFocusShadowBackdrops function

List<int> clayFocusShadowBackdrops(
  1. List<int> colors
)

The scene colours a key (hence its drop shadow and the focus ring drawn round it) can sit on: the base, the top wash and their mix, sphere B (lit, body, shade and their mixes) and the spheres' shadow core (and its mix with the base). Sphere A stays behind the toolbar, the card or a gutter, never under the keypad.

Implementation

List<int> clayFocusShadowBackdrops(List<int> colors) {
  final c = [for (final x in colors) x | 0xFF000000];
  return [
    c[0],
    c[1],
    _mixHalf(c[0], c[1]),
    c[5],
    c[6],
    c[7],
    _mixHalf(c[5], c[6]),
    _mixHalf(c[6], c[7]),
    c[8],
    _mixHalf(c[8], c[0]),
  ];
}