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 "core/fxcrt/fx_memory.h" 24#include "xfa/fxbarcode/common/BC_CommonByteMatrix.h" 25 26CBC_CommonByteMatrix::CBC_CommonByteMatrix(int32_t width, int32_t height) { 27 m_height = height; 28 m_width = width; 29 m_bytes = nullptr; 30} 31void CBC_CommonByteMatrix::Init() { 32 m_bytes = FX_Alloc2D(uint8_t, m_height, m_width); 33 FXSYS_memset(m_bytes, 0xff, m_height * m_width); 34} 35CBC_CommonByteMatrix::~CBC_CommonByteMatrix() { 36 FX_Free(m_bytes); 37} 38int32_t CBC_CommonByteMatrix::GetHeight() { 39 return m_height; 40} 41int32_t CBC_CommonByteMatrix::GetWidth() { 42 return m_width; 43} 44uint8_t CBC_CommonByteMatrix::Get(int32_t x, int32_t y) { 45 return m_bytes[y * m_width + x]; 46} 47void CBC_CommonByteMatrix::Set(int32_t x, int32_t y, int32_t value) { 48 m_bytes[y * m_width + x] = (uint8_t)value; 49} 50void CBC_CommonByteMatrix::Set(int32_t x, int32_t y, uint8_t value) { 51 m_bytes[y * m_width + x] = value; 52} 53void CBC_CommonByteMatrix::clear(uint8_t value) { 54 int32_t y; 55 for (y = 0; y < m_height; y++) { 56 int32_t x; 57 for (x = 0; x < m_width; x++) { 58 m_bytes[y * m_width + x] = value; 59 } 60 } 61} 62uint8_t* CBC_CommonByteMatrix::GetArray() { 63 return m_bytes; 64} 65