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