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_ 9class CBC_BinaryBitmap; 10class CBC_CommonBitArray; 11class CBC_OneDimReader; 12class CBC_OnedEAN13Reader; 13class CBC_OnedUPCAReader; 14class 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