diff options
Diffstat (limited to 'xfa/fxbarcode/qrcode/BC_QRCoderFormatInformation.h')
-rw-r--r-- | xfa/fxbarcode/qrcode/BC_QRCoderFormatInformation.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/xfa/fxbarcode/qrcode/BC_QRCoderFormatInformation.h b/xfa/fxbarcode/qrcode/BC_QRCoderFormatInformation.h new file mode 100644 index 0000000000..8f1590172e --- /dev/null +++ b/xfa/fxbarcode/qrcode/BC_QRCoderFormatInformation.h @@ -0,0 +1,32 @@ +// Copyright 2014 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef XFA_FXBARCODE_QRCODE_BC_QRCODERFORMATINFORMATION_H_ +#define XFA_FXBARCODE_QRCODE_BC_QRCODERFORMATINFORMATION_H_ + +class CBC_QRCoderErrorCorrectionLevel; +class CBC_QRCoderFormatInformation { + private: + static const int32_t FORMAT_INFO_MASK_QR; + static const int32_t FORMAT_INFO_DECODE_LOOKUP[32][2]; + static const int32_t BITS_SET_IN_HALF_BYTE[16]; + CBC_QRCoderErrorCorrectionLevel* m_errorCorrectLevl; + uint8_t m_dataMask; + + public: + CBC_QRCoderFormatInformation(int32_t formatInfo); + virtual ~CBC_QRCoderFormatInformation(); + uint8_t GetDataMask(); + CBC_QRCoderErrorCorrectionLevel* GetErrorCorrectionLevel(); + + static int32_t NumBitsDiffering(int32_t a, int32_t b); + static CBC_QRCoderFormatInformation* DecodeFormatInformation( + int32_t maskedFormatInfo); + static CBC_QRCoderFormatInformation* DoDecodeFormatInformation( + int32_t maskedFormatInfo); +}; + +#endif // XFA_FXBARCODE_QRCODE_BC_QRCODERFORMATINFORMATION_H_ |