1 // Copyright 2014 PDFium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #ifndef _BC_QRCODERFORMATINFORMATION_H_ 8 #define _BC_QRCODERFORMATINFORMATION_H_ 9 class CBC_QRCoderErrorCorrectionLevel; 10 class CBC_QRCoderFormatInformation { 11 private: 12 const static int32_t FORMAT_INFO_MASK_QR; 13 const static int32_t FORMAT_INFO_DECODE_LOOKUP[32][2]; 14 const static int32_t BITS_SET_IN_HALF_BYTE[16]; 15 CBC_QRCoderErrorCorrectionLevel* m_errorCorrectLevl; 16 uint8_t m_dataMask; 17 18 public: 19 CBC_QRCoderFormatInformation(int32_t formatInfo); 20 virtual ~CBC_QRCoderFormatInformation(); 21 uint8_t GetDataMask(); 22 CBC_QRCoderErrorCorrectionLevel* GetErrorCorrectionLevel(); 23 24 static int32_t NumBitsDiffering(int32_t a, int32_t b); 25 static CBC_QRCoderFormatInformation* DecodeFormatInformation( 26 int32_t maskedFormatInfo); 27 static CBC_QRCoderFormatInformation* DoDecodeFormatInformation( 28 int32_t maskedFormatInfo); 29 }; 30 #endif 31