// 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_SRC_FXBARCODE_QRCODE_BC_QRCODERFORMATINFORMATION_H_ #define XFA_SRC_FXBARCODE_QRCODE_BC_QRCODERFORMATINFORMATION_H_ class CBC_QRCoderErrorCorrectionLevel; class CBC_QRCoderFormatInformation { private: const static int32_t FORMAT_INFO_MASK_QR; const static int32_t FORMAT_INFO_DECODE_LOOKUP[32][2]; const static 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_SRC_FXBARCODE_QRCODE_BC_QRCODERFORMATINFORMATION_H_