X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=core%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2FMultiFormatReader.java;fp=core%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2FMultiFormatReader.java;h=cb8385df48b4fff69f10857ef5ec7ddc669932d3;hb=e6c3149e9db465be841d6fe39f11af0688f8ad9e;hp=8331cedf8feb71902b8a10d66e968fbb1e9c088b;hpb=d272f5295e3de2685ddc78c26e65d5df3dc16c39;p=zxing.git diff --git a/core/src/com/google/zxing/MultiFormatReader.java b/core/src/com/google/zxing/MultiFormatReader.java index 8331cedf..cb8385df 100644 --- a/core/src/com/google/zxing/MultiFormatReader.java +++ b/core/src/com/google/zxing/MultiFormatReader.java @@ -62,7 +62,8 @@ public final class MultiFormatReader implements Reader { } /** - * Decode an image using the state set up by calling setHints() previously. + * Decode an image using the state set up by calling setHints() previously. Continuous scan + * clients will get a large speed increase by using this instead of decode(). * * @param image The pixel data to decode * @return The contents of the image @@ -99,7 +100,7 @@ public final class MultiFormatReader implements Reader { possibleFormats.contains(BarcodeFormat.CODE_128); // Put 1D readers upfront in "normal" mode if (addOneDReader && !tryHarder) { - readers.addElement(new MultiFormatOneDReader()); + readers.addElement(new MultiFormatOneDReader(hints)); } if (possibleFormats.contains(BarcodeFormat.QR_CODE)) { readers.addElement(new QRCodeReader()); @@ -110,24 +111,25 @@ public final class MultiFormatReader implements Reader { //} // At end in "try harder" mode if (addOneDReader && tryHarder) { - readers.addElement(new MultiFormatOneDReader()); + readers.addElement(new MultiFormatOneDReader(hints)); } } if (readers.isEmpty()) { if (!tryHarder) { - readers.addElement(new MultiFormatOneDReader()); + readers.addElement(new MultiFormatOneDReader(hints)); } readers.addElement(new QRCodeReader()); // TODO re-enable once Data Matrix is ready // readers.addElement(new DataMatrixReader()); if (tryHarder) { - readers.addElement(new MultiFormatOneDReader()); + readers.addElement(new MultiFormatOneDReader(hints)); } } } private Result decodeInternal(MonochromeBitmapSource image) throws ReaderException { - for (int i = 0; i < readers.size(); i++) { + int size = readers.size(); + for (int i = 0; i < size; i++) { Reader reader = (Reader) readers.elementAt(i); try { return reader.decode(image, hints);