moveNext method
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) {
// skip row stride padding bits
_x = 0;
_y++;
_bitIndex = 0;
_index = _y * image.rowStride;
return _y < height;
}
final nc = image.numChannels;
if (palette != null || nc == 1) {
_bitIndex += 4;
if (_bitIndex > 7) {
_bitIndex = 0;
_index++;
}
} else {
final bpp = nc << 2;
_bitIndex += bpp;
while (_bitIndex > 7) {
_bitIndex -= 8;
_index++;
}
}
return _index < image.data.length;
}