toString method

  1. @override
String toString()
override

A string representation of this object.

Some classes have a default textual representation, often paired with a static parse function (like int.parse). These classes will provide the textual representation as their string representation.

Other classes have no meaningful textual representation that a program will care about. Such classes will typically override toString to provide useful information when inspecting the object, mainly for debugging or logging.

Implementation

@override
String toString() {
  late Uint8List row = Uint8List(_width);
  final result = StringBuffer();
  for (int y = 0; y < _height; y++) {
    row = getRow(y, row);
    for (int x = 0; x < _width; x++) {
      final luminance = row[x];
      String c;
      if (luminance < 0x40) {
        c = '#';
      } else if (luminance < 0x80) {
        c = '+';
      } else if (luminance < 0xC0) {
        c = '.';
      } else {
        c = ' ';
      }
      result.write(c);
    }
    result.write('\n');
  }
  return result.toString();
}