OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef XFA_FXBARCODE_QRCODE_BC_QRCODERVERSION_H_ | 7 #ifndef XFA_FXBARCODE_QRCODE_BC_QRCODERVERSION_H_ |
8 #define XFA_FXBARCODE_QRCODE_BC_QRCODERVERSION_H_ | 8 #define XFA_FXBARCODE_QRCODE_BC_QRCODERVERSION_H_ |
9 | 9 |
10 #include "core/fxcrt/fx_basic.h" | 10 #include "core/fxcrt/fx_basic.h" |
11 | 11 |
12 class CBC_CommonBitMatrix; | 12 class CBC_CommonBitMatrix; |
13 class CBC_QRCoderECBlocks; | 13 class CBC_QRCoderECBlocks; |
14 class CBC_QRCoderErrorCorrectionLevel; | 14 class CBC_QRCoderErrorCorrectionLevel; |
15 | 15 |
16 class CBC_QRCoderVersion { | 16 class CBC_QRCoderVersion { |
17 public: | 17 public: |
18 virtual ~CBC_QRCoderVersion(); | 18 virtual ~CBC_QRCoderVersion(); |
19 static void Initialize(); | 19 static void Initialize(); |
20 static void Finalize(); | 20 static void Finalize(); |
21 | 21 |
22 int32_t GetVersionNumber(); | 22 int32_t GetVersionNumber(); |
23 int32_t GetTotalCodeWords(); | 23 int32_t GetTotalCodeWords(); |
24 int32_t GetDimensionForVersion(); | 24 int32_t GetDimensionForVersion(); |
25 CBC_CommonBitMatrix* BuildFunctionPattern(int32_t& e); | 25 CBC_CommonBitMatrix* BuildFunctionPattern(int32_t& e); |
26 CFX_Int32Array* GetAlignmentPatternCenters(); | 26 CFX_ArrayTemplate<int32_t>* GetAlignmentPatternCenters(); |
27 CBC_QRCoderECBlocks* GetECBlocksForLevel( | 27 CBC_QRCoderECBlocks* GetECBlocksForLevel( |
28 CBC_QRCoderErrorCorrectionLevel* ecLevel); | 28 CBC_QRCoderErrorCorrectionLevel* ecLevel); |
29 static CBC_QRCoderVersion* GetVersionForNumber(int32_t versionNumber, | 29 static CBC_QRCoderVersion* GetVersionForNumber(int32_t versionNumber, |
30 int32_t& e); | 30 int32_t& e); |
31 static CBC_QRCoderVersion* GetProvisionalVersionForDimension( | 31 static CBC_QRCoderVersion* GetProvisionalVersionForDimension( |
32 int32_t dimension, | 32 int32_t dimension, |
33 int32_t& e); | 33 int32_t& e); |
34 static CBC_QRCoderVersion* DecodeVersionInformation(int32_t versionBits, | 34 static CBC_QRCoderVersion* DecodeVersionInformation(int32_t versionBits, |
35 int32_t& e); | 35 int32_t& e); |
36 static void Destroy(); | 36 static void Destroy(); |
37 | 37 |
38 private: | 38 private: |
39 CBC_QRCoderVersion(); | 39 CBC_QRCoderVersion(); |
40 CBC_QRCoderVersion(int32_t versionNumber, | 40 CBC_QRCoderVersion(int32_t versionNumber, |
41 CBC_QRCoderECBlocks* ecBlocks1, | 41 CBC_QRCoderECBlocks* ecBlocks1, |
42 CBC_QRCoderECBlocks* ecBlocks2, | 42 CBC_QRCoderECBlocks* ecBlocks2, |
43 CBC_QRCoderECBlocks* ecBlocks3, | 43 CBC_QRCoderECBlocks* ecBlocks3, |
44 CBC_QRCoderECBlocks* ecBlocks4); | 44 CBC_QRCoderECBlocks* ecBlocks4); |
45 | 45 |
46 static const int32_t VERSION_DECODE_INFO[34]; | 46 static const int32_t VERSION_DECODE_INFO[34]; |
47 static CFX_ArrayTemplate<CBC_QRCoderVersion*>* VERSION; | 47 static CFX_ArrayTemplate<CBC_QRCoderVersion*>* VERSION; |
48 | 48 |
49 int32_t m_versionNumber; | 49 int32_t m_versionNumber; |
50 int32_t m_totalCodeWords; | 50 int32_t m_totalCodeWords; |
51 CFX_Int32Array m_alignmentPatternCenters; | 51 CFX_ArrayTemplate<int32_t> m_alignmentPatternCenters; |
52 CFX_ArrayTemplate<CBC_QRCoderECBlocks*> m_ecBlocksArray; | 52 CFX_ArrayTemplate<CBC_QRCoderECBlocks*> m_ecBlocksArray; |
53 }; | 53 }; |
54 | 54 |
55 #endif // XFA_FXBARCODE_QRCODE_BC_QRCODERVERSION_H_ | 55 #endif // XFA_FXBARCODE_QRCODE_BC_QRCODERVERSION_H_ |
OLD | NEW |