Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
[pdfium.git] / xfa / src / fxbarcode / src / BC_CommonByteMatrix.cpp
1 // Copyright 2014 PDFium Authors. All rights reserved.\r
2 // Use of this source code is governed by a BSD-style license that can be\r
3 // found in the LICENSE file.\r
4 \r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
6 \r
7 #include "barcode.h"\r
8 #include "include/BC_CommonByteMatrix.h"\r
9 CBC_CommonByteMatrix::CBC_CommonByteMatrix(FX_INT32 width, FX_INT32 height)\r
10 {\r
11     m_height = height;\r
12     m_width = width;\r
13     m_bytes = NULL;\r
14 }\r
15 void CBC_CommonByteMatrix::Init()\r
16 {\r
17     m_bytes = FX_Alloc(FX_BYTE, m_height * m_width);\r
18     FXSYS_memset8(m_bytes, 0xff, m_height * m_width);\r
19 }\r
20 CBC_CommonByteMatrix::~CBC_CommonByteMatrix()\r
21 {\r
22     if(m_bytes != NULL) {\r
23         FX_Free(m_bytes);\r
24         m_bytes = NULL;\r
25     }\r
26 }\r
27 FX_INT32 CBC_CommonByteMatrix::GetHeight()\r
28 {\r
29     return m_height;\r
30 }\r
31 FX_INT32 CBC_CommonByteMatrix::GetWidth()\r
32 {\r
33     return m_width;\r
34 }\r
35 FX_BYTE CBC_CommonByteMatrix::Get(FX_INT32 x, FX_INT32 y)\r
36 {\r
37     return m_bytes[y * m_width + x];\r
38 }\r
39 void CBC_CommonByteMatrix::Set(FX_INT32 x, FX_INT32 y, FX_INT32 value)\r
40 {\r
41     m_bytes[y * m_width + x] = (FX_BYTE)value;\r
42 }\r
43 void CBC_CommonByteMatrix::Set(FX_INT32 x, FX_INT32 y, FX_BYTE value)\r
44 {\r
45     m_bytes[y * m_width + x] = value;\r
46 }\r
47 void CBC_CommonByteMatrix::clear(FX_BYTE value)\r
48 {\r
49     FX_INT32 y;\r
50     for(y = 0; y < m_height; y++) {\r
51         FX_INT32 x;\r
52         for(x = 0; x < m_width; x++) {\r
53             m_bytes[y * m_width + x] = value;\r
54         }\r
55     }\r
56 }\r
57 FX_BYTE* CBC_CommonByteMatrix::GetArray()\r
58 {\r
59     return m_bytes;\r
60 }\r