decodeRow method

Result decodeRow(
  1. int rowNumber,
  2. BitArray row,
  3. List<int> extensionStartRange
)

Implementation

Result decodeRow(int rowNumber, BitArray row, List<int> extensionStartRange) {
  final result = _decodeRowStringBuffer;
  result.clear();
  final end = _decodeMiddle(row, extensionStartRange, result);

  final resultString = result.toString();
  final extensionData = _parseExtensionString(resultString);

  final extensionResult = Result(
    resultString,
    null,
    [
      ResultPoint(
        (extensionStartRange[0] + extensionStartRange[1]) / 2.0,
        rowNumber.toDouble(),
      ),
      ResultPoint(end.toDouble(), rowNumber.toDouble()),
    ],
    BarcodeFormat.UPC_EAN_EXTENSION,
  );
  if (extensionData != null) {
    extensionResult.putAllMetadata(extensionData);
  }
  return extensionResult;
}