X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=cpp%2Fcore%2Fsrc%2Fzxing%2Fqrcode%2Fdetector%2FFinderPattern.cpp;fp=cpp%2Fcore%2Fsrc%2Fzxing%2Fqrcode%2Fdetector%2FFinderPattern.cpp;h=ea3bc6a842c9d7034074a9410f39ad63e9fb7659;hb=1bd3f8056f89c3e7c5163326ce2145de97acb829;hp=0000000000000000000000000000000000000000;hpb=b04d9b9e532b4c593f5b2a702d7904575f539468;p=zxing.git diff --git a/cpp/core/src/zxing/qrcode/detector/FinderPattern.cpp b/cpp/core/src/zxing/qrcode/detector/FinderPattern.cpp new file mode 100644 index 00000000..ea3bc6a8 --- /dev/null +++ b/cpp/core/src/zxing/qrcode/detector/FinderPattern.cpp @@ -0,0 +1,58 @@ +/* + * FinderPattern.cpp + * zxing + * + * Created by Christian Brunschen on 13/05/2008. + * Copyright 2008 ZXing authors All rights reserved. + * + * 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. + */ + +#include + +namespace zxing { +namespace qrcode { + +using namespace std; + +FinderPattern::FinderPattern(float posX, float posY, float estimatedModuleSize) : + posX_(posX), posY_(posY), estimatedModuleSize_(estimatedModuleSize), counter_(1) { +} + +float FinderPattern::getX() { + return posX_; +} + +float FinderPattern::getY() { + return posY_; +} + +int FinderPattern::getCount() { + return counter_; +} + +float FinderPattern::getEstimatedModuleSize() { + return estimatedModuleSize_; +} + +void FinderPattern::incrementCount() { + counter_++; +} + +bool FinderPattern::aboutEquals(float moduleSize, float i, float j) { + return abs(i - posY_) <= moduleSize && abs(j - posX_) <= moduleSize && (abs(moduleSize - estimatedModuleSize_) + <= 1.0f || abs(moduleSize - estimatedModuleSize_) / estimatedModuleSize_ <= 0.1f); +} + +} +}