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_ONEDCODA128READER_H_ 8 #define _BC_ONEDCODA128READER_H_ 9 class CBC_OneDReader; 10 class CBC_CommonBitArray; 11 class CBC_OnedCoda128Reader; 12 class CBC_OnedCode128Reader : public CBC_OneDReader { 13 public: 14 CBC_OnedCode128Reader(); 15 virtual ~CBC_OnedCode128Reader(); 16 virtual CFX_ByteString DecodeRow(int32_t rowNumber, 17 CBC_CommonBitArray* row, 18 int32_t hints, 19 int32_t& e); 20 const static int32_t CODE_PATTERNS[107][7]; 21 const static int32_t MAX_AVG_VARIANCE; 22 const static int32_t MAX_INDIVIDUAL_VARIANCE; 23 24 const static int32_t CODE_SHIFT; 25 const static int32_t CODE_CODE_C; 26 const static int32_t CODE_CODE_B; 27 const static int32_t CODE_CODE_A; 28 const static int32_t CODE_FNC_1; 29 const static int32_t CODE_FNC_2; 30 const static int32_t CODE_FNC_3; 31 const static int32_t CODE_FNC_4_A; 32 const static int32_t CODE_FNC_4_B; 33 34 const static int32_t CODE_START_A; 35 const static int32_t CODE_START_B; 36 const static int32_t CODE_START_C; 37 const static int32_t CODE_STOP; 38 39 private: 40 CFX_Int32Array* FindStartPattern(CBC_CommonBitArray* row, int32_t& e); 41 int32_t DecodeCode(CBC_CommonBitArray* row, 42 CFX_Int32Array* counters, 43 int32_t rowOffset, 44 int32_t& e); 45 }; 46 #endif 47