| // 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_DATAMATRIX_BC_DATAMATRIXBITMATRIXPARSER_H_ |
| #define XFA_FXBARCODE_DATAMATRIX_BC_DATAMATRIXBITMATRIXPARSER_H_ |
| |
| #include "core/include/fxcrt/fx_basic.h" |
| |
| class CBC_CommonBitMatrix; |
| class CBC_DataMatrixVersion; |
| |
| class CBC_DataMatrixBitMatrixParser { |
| public: |
| CBC_DataMatrixBitMatrixParser(); |
| virtual ~CBC_DataMatrixBitMatrixParser(); |
| CBC_DataMatrixVersion* GetVersion(); |
| CFX_ByteArray* ReadCodewords(int32_t& e); |
| FX_BOOL ReadModule(int32_t row, |
| int32_t column, |
| int32_t numRows, |
| int32_t numColumns); |
| int32_t ReadUtah(int32_t row, |
| int32_t column, |
| int32_t numRows, |
| int32_t numColumns); |
| int32_t ReadCorner1(int32_t numRows, int32_t numColumns); |
| int32_t ReadCorner2(int32_t numRows, int32_t numColumns); |
| int32_t ReadCorner3(int32_t numRows, int32_t numColumns); |
| int32_t ReadCorner4(int32_t numRows, int32_t numColumns); |
| CBC_CommonBitMatrix* ExtractDataRegion(CBC_CommonBitMatrix* bitMatrix, |
| int32_t& e); |
| virtual void Init(CBC_CommonBitMatrix* bitMatrix, int32_t& e); |
| |
| private: |
| static CBC_DataMatrixVersion* ReadVersion(CBC_CommonBitMatrix* bitMatrix, |
| int32_t& e); |
| CBC_CommonBitMatrix* m_mappingBitMatrix; |
| CBC_CommonBitMatrix* m_readMappingMatrix; |
| CBC_DataMatrixVersion* m_version; |
| }; |
| |
| #endif // XFA_FXBARCODE_DATAMATRIX_BC_DATAMATRIXBITMATRIXPARSER_H_ |