moveNext method

  1. @override
bool moveNext()
override

Move to the next pixel, returning false if it moved past the end of the image data.

Implementation

@override
bool moveNext() {
  _x++;
  if (x == width) {
    _x = 0;
    _y++;
    _bitIndex = 0;
    _index++;
    _rowOffset += image.rowStride;
    return _y < height;
  }

  final nc = numChannels;
  if (palette != null || nc == 1) {
    _bitIndex += 2;
    if (_bitIndex > 7) {
      _bitIndex = 0;
      _index++;
    }
  } else {
    final bpp = bitsPerPixel;
    _bitIndex = (x * bpp) & 0x7;
    _index = _rowOffset + ((x * bpp) >> 3);
  }

  return _index < image.data.length;
}