flippedSwatch function
Espelha um swatch: o valor do stop mais claro vai para o mais escuro.
É como a rampa neutra ESCURA de uma marca se obtém da clara. O tema espera de
toda rampa neutra a mesma semântica — s50 é o fundo, s900 é o conteúdo —
e no escuro isso significa que o s50 precisa ser o tom mais escuro. Refletir
a rampa mantém essa semântica sem duplicar a escolha de cor: uma semente
gera as duas pontas.
O value do resultado é o do swatch de origem, ou seja, a semente sobrevive
ao espelhamento — é o que permite a uma marca gerada por semente continuar
se descrevendo pela semente depois de refletida.
Implementation
ColorSwatch<int> flippedSwatch(ColorSwatch<int> swatch) =>
ColorSwatch<int>(swatch.toARGB32(), <int, Color>{
for (int i = 0; i < kSwatchStops.length; i++)
kSwatchStops[i]: swatch[kSwatchStops[kSwatchStops.length - 1 - i]]!,
});