Merge to XFA: Use stdint.h types throughout PDFium.
[pdfium.git] / xfa / src / fxbarcode / qrcode / BC_QRAlignmentPatternFinder.h
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 #ifndef _BC_QRALIGNMENTPATTERNFINDER_H_\r
8 #define _BC_QRALIGNMENTPATTERNFINDER_H_\r
9 class CBC_CommonBitMatrix;\r
10 class CBC_QRAlignmentPattern;\r
11 class CBC_QRAlignmentPatternFinder\r
12 {\r
13 private:\r
14     CBC_CommonBitMatrix *m_image;\r
15     CFX_PtrArray m_possibleCenters;\r
16     int32_t m_startX;\r
17     int32_t m_startY;\r
18     int32_t m_width;\r
19     int32_t m_height;\r
20     FX_FLOAT m_moduleSize;\r
21     CFX_Int32Array m_crossCheckStateCount;\r
22 public:\r
23     CBC_QRAlignmentPatternFinder(CBC_CommonBitMatrix *image, int32_t startX, int32_t startY, int32_t width, int32_t height, FX_FLOAT moduleSize);\r
24     virtual ~CBC_QRAlignmentPatternFinder();\r
25     FX_BOOL FoundPatternCross(const CFX_Int32Array &stateCount);\r
26     FX_FLOAT CrossCheckVertical(int32_t startI, int32_t startJ, int32_t maxCount, int32_t originalStateCountTotal);\r
27     CBC_QRAlignmentPattern* Find(int32_t &e);\r
28     CBC_QRAlignmentPattern *HandlePossibleCenter(const CFX_Int32Array &stateCount, int32_t i, int32_t j);\r
29     static FX_FLOAT CenterFromEnd(const CFX_Int32Array &stateCount, int32_t end);\r
30 };\r
31 #endif\r