BC_PDF417BarcodeMatrix.h revision 4d3acf4ec42bf6e838f9060103aff98fbf170794
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 12class CBC_BarcodeRow; 13 14class 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_ByteArray& getMatrix(); 25 CFX_ByteArray& getScaledMatrix(int32_t scale); 26 CFX_ByteArray& 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_ByteArray 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