// 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_FXBARCODE_ONED_BC_ONEDUPCAREADER_H_ #define XFA_FXBARCODE_ONED_BC_ONEDUPCAREADER_H_ class CBC_BinaryBitmap; class CBC_CommonBitArray; class CBC_OneDimReader; class CBC_OnedEAN13Reader; class CBC_OnedUPCAReader; class CBC_OnedUPCAReader : public CBC_OneDimReader { private: CBC_OnedEAN13Reader* m_ean13Reader; public: CBC_OnedUPCAReader(); virtual ~CBC_OnedUPCAReader(); CFX_ByteString DecodeRow(int32_t rowNumber, CBC_CommonBitArray* row, int32_t hints, int32_t& e); CFX_ByteString DecodeRow(int32_t rowNumber, CBC_CommonBitArray* row, CFX_Int32Array* startGuardRange, int32_t hints, int32_t& e); CFX_ByteString Decode(CBC_BinaryBitmap* image, int32_t& e); CFX_ByteString Decode(CBC_BinaryBitmap* image, int32_t hints, int32_t& e); virtual void Init(); protected: int32_t DecodeMiddle(CBC_CommonBitArray* row, CFX_Int32Array* startRange, CFX_ByteString& resultString, int32_t& e); CFX_ByteString MaybeReturnResult(CFX_ByteString& result, int32_t& e); }; #endif // XFA_FXBARCODE_ONED_BC_ONEDUPCAREADER_H_