diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-01-06 22:52:45 +0100 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-01-06 22:52:45 +0100 |
commit | ccb462e94fffea71649e93dd4d91ef3748f5c726 (patch) | |
tree | 5bbcf0a950be34dd0ec768ebb83440a48d7f4841 /libraries/zxing/src/com/google/zxing/qrcode/detector/FinderPattern.java | |
parent | 7671c99b97ebf62b797ee69ef8412c973199c9f8 (diff) | |
download | open-keychain-ccb462e94fffea71649e93dd4d91ef3748f5c726.tar.gz open-keychain-ccb462e94fffea71649e93dd4d91ef3748f5c726.tar.bz2 open-keychain-ccb462e94fffea71649e93dd4d91ef3748f5c726.zip |
externalize zxing lib, fix gradle build
Diffstat (limited to 'libraries/zxing/src/com/google/zxing/qrcode/detector/FinderPattern.java')
-rw-r--r-- | libraries/zxing/src/com/google/zxing/qrcode/detector/FinderPattern.java | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/libraries/zxing/src/com/google/zxing/qrcode/detector/FinderPattern.java b/libraries/zxing/src/com/google/zxing/qrcode/detector/FinderPattern.java new file mode 100644 index 000000000..7a9914d76 --- /dev/null +++ b/libraries/zxing/src/com/google/zxing/qrcode/detector/FinderPattern.java @@ -0,0 +1,63 @@ +/* + * Copyright 2007 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.zxing.qrcode.detector; + +import com.google.zxing.ResultPoint; + +/** + * <p>Encapsulates a finder pattern, which are the three square patterns found in + * the corners of QR Codes. It also encapsulates a count of similar finder patterns, + * as a convenience to the finder's bookkeeping.</p> + * + * @author Sean Owen + */ +public final class FinderPattern extends ResultPoint { + + private final float estimatedModuleSize; + private int count; + + FinderPattern(float posX, float posY, float estimatedModuleSize) { + super(posX, posY); + this.estimatedModuleSize = estimatedModuleSize; + this.count = 1; + } + + public float getEstimatedModuleSize() { + return estimatedModuleSize; + } + + int getCount() { + return count; + } + + void incrementCount() { + this.count++; + } + + /** + * <p>Determines if this finder pattern "about equals" a finder pattern at the stated + * position and size -- meaning, it is at nearly the same center with nearly the same size.</p> + */ + boolean aboutEquals(float moduleSize, float i, float j) { + if (Math.abs(i - getY()) <= moduleSize && Math.abs(j - getX()) <= moduleSize) { + float moduleSizeDiff = Math.abs(moduleSize - estimatedModuleSize); + return moduleSizeDiff <= 1.0f || moduleSizeDiff / estimatedModuleSize <= 1.0f; + } + return false; + } + +} |