vaporwaveSamplesOf function

List<int> vaporwaveSamplesOf(
  1. List<int> stops
)

Every opaque colour of a Vaporwave scene with the ten stops: the stops, the ¼ / ½ / ¾ mixes of _vaporMixPairs, the horizon glow over the sky and the floor, and the horizon haze over the far floor (58 samples).

Implementation

List<int> vaporwaveSamplesOf(List<int> stops) {
  final s = [for (final c in stops) c | 0xFF000000];
  final out = <int>[...s];
  for (final (i, j) in _vaporMixPairs) {
    for (var k = 1; k <= 3; k++) {
      out.add(_mix(s[i], s[j], 4 - k, k, 4));
    }
  }
  final glow = withAlpha(s[9], vaporwaveGlowAlpha);
  out
    ..add(compositeOver(glow, s[2]))
    ..add(compositeOver(glow, s[6]))
    ..add(compositeOver(withAlpha(s[9], vaporwaveHazeAlpha), s[6]));
  return out;
}