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_QRCODER_H_ | 7 #ifndef XFA_FXBARCODE_QRCODE_BC_QRCODER_H_ |
8 #define XFA_FXBARCODE_QRCODE_BC_QRCODER_H_ | 8 #define XFA_FXBARCODE_QRCODE_BC_QRCODER_H_ |
9 | 9 |
| 10 #include <memory> |
| 11 |
10 class CBC_QRCoderErrorCorrectionLevel; | 12 class CBC_QRCoderErrorCorrectionLevel; |
11 class CBC_QRCoderMode; | 13 class CBC_QRCoderMode; |
12 class CBC_CommonByteMatrix; | 14 class CBC_CommonByteMatrix; |
13 | 15 |
14 class CBC_QRCoder { | 16 class CBC_QRCoder { |
15 private: | 17 public: |
16 CBC_QRCoderMode* m_mode; | 18 static constexpr int32_t kNumMaskPatterns = 8; |
17 CBC_QRCoderErrorCorrectionLevel* m_ecLevel; | |
18 int32_t m_version; | |
19 int32_t m_matrixWidth; | |
20 int32_t m_maskPattern; | |
21 int32_t m_numTotalBytes; | |
22 int32_t m_numDataBytes; | |
23 int32_t m_numECBytes; | |
24 int32_t m_numRSBlocks; | |
25 CBC_CommonByteMatrix* m_matrix; | |
26 | 19 |
27 public: | |
28 static const int32_t NUM_MASK_PATTERNS; | |
29 CBC_QRCoder(); | 20 CBC_QRCoder(); |
30 virtual ~CBC_QRCoder(); | 21 virtual ~CBC_QRCoder(); |
31 CBC_QRCoderMode* GetMode(); | 22 |
32 CBC_QRCoderErrorCorrectionLevel* GetECLevel(); | 23 static bool IsValidMaskPattern(int32_t maskPattern); |
33 int32_t GetVersion(); | 24 |
34 int32_t GetMatrixWidth(); | 25 CBC_QRCoderMode* GetMode() const; |
35 int32_t GetMaskPattern(); | 26 CBC_QRCoderErrorCorrectionLevel* GetECLevel() const; |
36 int32_t GetNumTotalBytes(); | 27 int32_t GetVersion() const; |
37 int32_t GetNumDataBytes(); | 28 int32_t GetMatrixWidth() const; |
38 int32_t GetNumECBytes(); | 29 int32_t GetMaskPattern() const; |
39 int32_t GetNumRSBlocks(); | 30 int32_t GetNumTotalBytes() const; |
40 CBC_CommonByteMatrix* GetMatrix(); | 31 int32_t GetNumDataBytes() const; |
| 32 int32_t GetNumECBytes() const; |
| 33 int32_t GetNumRSBlocks() const; |
| 34 CBC_CommonByteMatrix* GetMatrix() const; |
| 35 |
41 int32_t At(int32_t x, int32_t y, int32_t& e); | 36 int32_t At(int32_t x, int32_t y, int32_t& e); |
42 FX_BOOL IsValid(); | 37 FX_BOOL IsValid(); |
43 | 38 |
44 void SetMode(CBC_QRCoderMode* value); | 39 void SetMode(CBC_QRCoderMode* value); |
45 void SetECLevel(CBC_QRCoderErrorCorrectionLevel* ecLevel); | 40 void SetECLevel(CBC_QRCoderErrorCorrectionLevel* ecLevel); |
46 void SetVersion(int32_t version); | 41 void SetVersion(int32_t version); |
47 void SetMatrixWidth(int32_t width); | 42 void SetMatrixWidth(int32_t width); |
48 void SetMaskPattern(int32_t pattern); | 43 void SetMaskPattern(int32_t pattern); |
49 void SetNumDataBytes(int32_t bytes); | 44 void SetNumDataBytes(int32_t bytes); |
50 void SetNumTotalBytes(int32_t value); | 45 void SetNumTotalBytes(int32_t value); |
51 void SetNumECBytes(int32_t value); | 46 void SetNumECBytes(int32_t value); |
52 void SetNumRSBlocks(int32_t block); | 47 void SetNumRSBlocks(int32_t block); |
53 void SetMatrix(CBC_CommonByteMatrix* value); | 48 void SetMatrix(std::unique_ptr<CBC_CommonByteMatrix> pMatrix); |
54 static FX_BOOL IsValidMaskPattern(int32_t maskPattern); | 49 |
| 50 private: |
| 51 CBC_QRCoderMode* m_mode; |
| 52 CBC_QRCoderErrorCorrectionLevel* m_ecLevel; |
| 53 int32_t m_version; |
| 54 int32_t m_matrixWidth; |
| 55 int32_t m_maskPattern; |
| 56 int32_t m_numTotalBytes; |
| 57 int32_t m_numDataBytes; |
| 58 int32_t m_numECBytes; |
| 59 int32_t m_numRSBlocks; |
| 60 std::unique_ptr<CBC_CommonByteMatrix> m_matrix; |
55 }; | 61 }; |
56 | 62 |
57 #endif // XFA_FXBARCODE_QRCODE_BC_QRCODER_H_ | 63 #endif // XFA_FXBARCODE_QRCODE_BC_QRCODER_H_ |
OLD | NEW |