Merge to XFA: Kill FXSYS_mem{cpy,cmp,set.move}{32,8}.
[pdfium.git] / xfa / src / fxbarcode / common / 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 // Original code is licensed as follows:\r
7 /*\r
8  * Copyright 2008 ZXing authors\r
9  *\r
10  * Licensed under the Apache License, Version 2.0 (the "License");\r
11  * you may not use this file except in compliance with the License.\r
12  * You may obtain a copy of the License at\r
13  *\r
14  *      http://www.apache.org/licenses/LICENSE-2.0\r
15  *\r
16  * Unless required by applicable law or agreed to in writing, software\r
17  * distributed under the License is distributed on an "AS IS" BASIS,\r
18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
19  * See the License for the specific language governing permissions and\r
20  * limitations under the License.\r
21  */\r
22 \r
23 #include "../barcode.h"\r
24 #include "BC_CommonByteMatrix.h"\r
25 CBC_CommonByteMatrix::CBC_CommonByteMatrix(int32_t width, int32_t height)\r
26 {\r
27     m_height = height;\r
28     m_width = width;\r
29     m_bytes = NULL;\r
30 }\r
31 void CBC_CommonByteMatrix::Init()\r
32 {\r
33     m_bytes = FX_Alloc(uint8_t, m_height * m_width);\r
34     FXSYS_memset(m_bytes, 0xff, m_height * m_width);\r
35 }\r
36 CBC_CommonByteMatrix::~CBC_CommonByteMatrix()\r
37 {\r
38     if(m_bytes != NULL) {\r
39         FX_Free(m_bytes);\r
40         m_bytes = NULL;\r
41     }\r
42 }\r
43 int32_t CBC_CommonByteMatrix::GetHeight()\r
44 {\r
45     return m_height;\r
46 }\r
47 int32_t CBC_CommonByteMatrix::GetWidth()\r
48 {\r
49     return m_width;\r
50 }\r
51 uint8_t CBC_CommonByteMatrix::Get(int32_t x, int32_t y)\r
52 {\r
53     return m_bytes[y * m_width + x];\r
54 }\r
55 void CBC_CommonByteMatrix::Set(int32_t x, int32_t y, int32_t value)\r
56 {\r
57     m_bytes[y * m_width + x] = (uint8_t)value;\r
58 }\r
59 void CBC_CommonByteMatrix::Set(int32_t x, int32_t y, uint8_t value)\r
60 {\r
61     m_bytes[y * m_width + x] = value;\r
62 }\r
63 void CBC_CommonByteMatrix::clear(uint8_t value)\r
64 {\r
65     int32_t y;\r
66     for(y = 0; y < m_height; y++) {\r
67         int32_t x;\r
68         for(x = 0; x < m_width; x++) {\r
69             m_bytes[y * m_width + x] = value;\r
70         }\r
71     }\r
72 }\r
73 uint8_t* CBC_CommonByteMatrix::GetArray()\r
74 {\r
75     return m_bytes;\r
76 }\r