| 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 |