Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
[pdfium.git] / xfa / src / fxbarcode / src / BC_QRAlignmentPattern.cpp
1 // Copyright 2014 PDFium Authors. All rights reserved.\r
2 // Use of this source code is governed by a BSD-style license that can be\r
3 // found in the LICENSE file.\r
4 \r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
6 \r
7 #include "barcode.h"\r
8 #include "include/BC_ResultPoint.h"\r
9 #include "include/BC_QRAlignmentPattern.h"\r
10 CBC_QRAlignmentPattern::CBC_QRAlignmentPattern(FX_FLOAT posX, FX_FLOAT posY, FX_FLOAT estimateModuleSize):\r
11     CBC_ResultPoint(posX, posY), m_moduleSize(estimateModuleSize)\r
12 {\r
13 }\r
14 CBC_QRAlignmentPattern::~CBC_QRAlignmentPattern()\r
15 {\r
16 }\r
17 FX_FLOAT CBC_QRAlignmentPattern::GetX()\r
18 {\r
19     return m_x;\r
20 }\r
21 FX_FLOAT CBC_QRAlignmentPattern::GetY()\r
22 {\r
23     return m_y;\r
24 }\r
25 FX_BOOL CBC_QRAlignmentPattern::AboutEquals(FX_FLOAT moduleSize, FX_FLOAT i, FX_FLOAT j)\r
26 {\r
27     if ((FXSYS_fabs(i - GetY()) <= moduleSize) && (FXSYS_fabs(j - GetX()) <= moduleSize)) {\r
28         FX_FLOAT moduleSizeDiff = FXSYS_fabs(moduleSize - m_moduleSize);\r
29         return (moduleSizeDiff <= 1.0f) || (moduleSizeDiff / m_moduleSize <= 1.0f);\r
30     }\r
31     return FALSE;\r
32 }\r
33 CBC_QRAlignmentPattern *CBC_QRAlignmentPattern::Clone()\r
34 {\r
35     return FX_NEW CBC_QRAlignmentPattern(m_x, m_y, m_moduleSize);\r
36 }\r