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 XFA_FXBARCODE_PDF417_BC_PDF417BARCODEMATRIX_H_ 8 #define XFA_FXBARCODE_PDF417_BC_PDF417BARCODEMATRIX_H_ 9 10 #include "core/fxcrt/fx_basic.h" 11 12 class CBC_BarcodeRow; 13 14 class CBC_BarcodeMatrix { 15 public: 16 CBC_BarcodeMatrix(); 17 CBC_BarcodeMatrix(int32_t height, int32_t width); 18 virtual ~CBC_BarcodeMatrix(); 19 20 void set(int32_t x, int32_t y, uint8_t value); 21 void setMatrix(int32_t x, int32_t y, bool black); 22 void startRow(); 23 CBC_BarcodeRow* getCurrentRow(); 24 CFX_ArrayTemplate<uint8_t>& getMatrix(); 25 CFX_ArrayTemplate<uint8_t>& getScaledMatrix(int32_t scale); 26 CFX_ArrayTemplate<uint8_t>& getScaledMatrix(int32_t xScale, int32_t yScale); 27 int32_t getWidth(); 28 int32_t getHeight(); 29 30 private: 31 CFX_ArrayTemplate<CBC_BarcodeRow*> m_matrix; 32 CFX_ArrayTemplate<uint8_t> m_matrixOut; 33 int32_t m_currentRow; 34 int32_t m_height; 35 int32_t m_width; 36 int32_t m_outWidth; 37 int32_t m_outHeight; 38 }; 39 40 #endif // XFA_FXBARCODE_PDF417_BC_PDF417BARCODEMATRIX_H_ 41