dynamic setRow(int row, List<Vector4> colors)

Sets the RGBA colors of the given row. The color values are expected to be normalised into the range 0.0..1.0.

Throws an argument error, if row is invalid.

Source

setRow(int row, List<Vector4> colors) {
  if (!_isValidRow(row)) throw new ArgumentError('No such row: $row.');

  int startIdx = row * _columns;
  List<double> colorBytes = new List(colors.length * OFFSET);
  colors
    .asMap().forEach((i, c) => _scaledToRgba(c).copyIntoArray(colorBytes, i * OFFSET));

  _content.setRange(startIdx, startIdx + _columns, colorBytes.map((d) => d.toInt()));
}