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_ONEDUPCAREADER_H_ 8 #define _BC_ONEDUPCAREADER_H_ 9 class CBC_BinaryBitmap; 10 class CBC_CommonBitArray; 11 class CBC_OneDimReader; 12 class CBC_OnedEAN13Reader; 13 class CBC_OnedUPCAReader; 14 class CBC_OnedUPCAReader : public CBC_OneDimReader { 15 private: 16 CBC_OnedEAN13Reader* m_ean13Reader; 17 18 public: 19 CBC_OnedUPCAReader(); 20 virtual ~CBC_OnedUPCAReader(); 21 CFX_ByteString DecodeRow(int32_t rowNumber, 22 CBC_CommonBitArray* row, 23 int32_t hints, 24 int32_t& e); 25 CFX_ByteString DecodeRow(int32_t rowNumber, 26 CBC_CommonBitArray* row, 27 CFX_Int32Array* startGuardRange, 28 int32_t hints, 29 int32_t& e); 30 CFX_ByteString Decode(CBC_BinaryBitmap* image, int32_t& e); 31 CFX_ByteString Decode(CBC_BinaryBitmap* image, int32_t hints, int32_t& e); 32 virtual void Init(); 33 34 protected: 35 int32_t DecodeMiddle(CBC_CommonBitArray* row, 36 CFX_Int32Array* startRange, 37 CFX_ByteString& resultString, 38 int32_t& e); 39 CFX_ByteString MaybeReturnResult(CFX_ByteString& result, int32_t& e); 40 }; 41 #endif 42