X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=core%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Foned%2FAbstractOneDReader.java;h=508e05c2cb82c85cc1494efdc206b607844e454e;hb=26b7d057252b6fb33e16958e7f90036501db10aa;hp=7506db5d3acbeb099c477d7c76dff51b5ab15774;hpb=1170ad08b19f495ae38daf72a816ac60e5606aae;p=zxing.git diff --git a/core/src/com/google/zxing/oned/AbstractOneDReader.java b/core/src/com/google/zxing/oned/AbstractOneDReader.java index 7506db5d..508e05c2 100644 --- a/core/src/com/google/zxing/oned/AbstractOneDReader.java +++ b/core/src/com/google/zxing/oned/AbstractOneDReader.java @@ -24,7 +24,6 @@ import com.google.zxing.Result; import com.google.zxing.ResultMetadataType; import com.google.zxing.ResultPoint; import com.google.zxing.common.BitArray; -import com.google.zxing.common.GenericResultPoint; import java.util.Hashtable; @@ -113,7 +112,7 @@ public abstract class AbstractOneDReader implements OneDReader { } catch (ReaderException re) { continue; } - image.getBlackRow(rowNumber, row, 0, width); + row = image.getBlackRow(rowNumber, row, 0, width); // While we have the image data in a BitArray, it's fairly cheap to reverse it in place to // handle decoding upside down barcodes. @@ -130,8 +129,8 @@ public abstract class AbstractOneDReader implements OneDReader { result.putMetadata(ResultMetadataType.ORIENTATION, new Integer(180)); // And remember to flip the result points horizontally. ResultPoint[] points = result.getResultPoints(); - points[0] = new GenericResultPoint(width - points[0].getX() - 1, points[0].getY()); - points[1] = new GenericResultPoint(width - points[1].getX() - 1, points[1].getY()); + points[0] = new ResultPoint(width - points[0].getX() - 1, points[0].getY()); + points[1] = new ResultPoint(width - points[1].getX() - 1, points[1].getY()); } return result; } catch (ReaderException re) { @@ -169,7 +168,7 @@ public abstract class AbstractOneDReader implements OneDReader { int i = start; while (i < end) { boolean pixel = row.get(i); - if ((!pixel && isWhite) || (pixel && !isWhite)) { + if (pixel ^ isWhite) { // that is, exactly one is true counters[counterPosition]++; } else { counterPosition++; @@ -177,7 +176,7 @@ public abstract class AbstractOneDReader implements OneDReader { break; } else { counters[counterPosition] = 1; - isWhite = !isWhite; + isWhite ^= true; // isWhite = !isWhite; Is this too clever? shorter byte code, no conditional } } i++;