decodeRow method
Attempts to decode a one-dimensional barcode format given a single row of an image.
@param rowNumber row number from top of the row @param row the black/white pixel data of the row @param hints decode hints @return Result containing encoded string and start/end of barcode @throws NotFoundException if no potential barcode is found @throws ChecksumException if a potential barcode is found but does not pass its checksum @throws FormatException if a potential barcode is found but format is invalid
Implementation
@override
Result decodeRow(
int rowNumber,
BitArray row,
DecodeHint? hints,
) {
// Rows can start with even pattern if previous rows had an odd number
// of patterns, so we try twice.
_startFromEven = false;
try {
return constructResult(decodeRow2pairs(rowNumber, row));
} on NotFoundException catch (_) {
// OK
}
_startFromEven = true;
return constructResult(decodeRow2pairs(rowNumber, row));
}