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_BARCODEMATRIX_H_
8 #define _BC_BARCODEMATRIX_H_
9 class CBC_BarcodeRow;
10 class CBC_BarcodeMatrix {
11  public:
12   CBC_BarcodeMatrix();
13   CBC_BarcodeMatrix(int32_t height, int32_t width);
14   virtual ~CBC_BarcodeMatrix();
15   void set(int32_t x, int32_t y, uint8_t value);
16   void setMatrix(int32_t x, int32_t y, FX_BOOL black);
17   void startRow();
18   CBC_BarcodeRow* getCurrentRow();
19   CFX_ByteArray& getMatrix();
20   CFX_ByteArray& getScaledMatrix(int32_t scale);
21   CFX_ByteArray& getScaledMatrix(int32_t xScale, int32_t yScale);
22   int32_t getWidth();
23   int32_t getHeight();
24 
25  private:
26   CFX_PtrArray m_matrix;
27   CFX_ByteArray m_matrixOut;
28   int32_t m_currentRow;
29   int32_t m_height;
30   int32_t m_width;
31   int32_t m_outWidth;
32   int32_t m_outHeight;
33 };
34 #endif
35