1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2014 The PDFium Authors 2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file. 4*3ac0a46fSAndroid Build Coastguard Worker 5*3ac0a46fSAndroid Build Coastguard Worker // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6*3ac0a46fSAndroid Build Coastguard Worker 7*3ac0a46fSAndroid Build Coastguard Worker #ifndef FXBARCODE_COMMON_BC_COMMONBITMATRIX_H_ 8*3ac0a46fSAndroid Build Coastguard Worker #define FXBARCODE_COMMON_BC_COMMONBITMATRIX_H_ 9*3ac0a46fSAndroid Build Coastguard Worker 10*3ac0a46fSAndroid Build Coastguard Worker #include <stddef.h> 11*3ac0a46fSAndroid Build Coastguard Worker #include <stdint.h> 12*3ac0a46fSAndroid Build Coastguard Worker 13*3ac0a46fSAndroid Build Coastguard Worker #include "core/fxcrt/fixed_zeroed_data_vector.h" 14*3ac0a46fSAndroid Build Coastguard Worker 15*3ac0a46fSAndroid Build Coastguard Worker class CBC_CommonBitMatrix { 16*3ac0a46fSAndroid Build Coastguard Worker public: 17*3ac0a46fSAndroid Build Coastguard Worker CBC_CommonBitMatrix(size_t width, size_t height); 18*3ac0a46fSAndroid Build Coastguard Worker ~CBC_CommonBitMatrix(); 19*3ac0a46fSAndroid Build Coastguard Worker 20*3ac0a46fSAndroid Build Coastguard Worker bool Get(size_t x, size_t y) const; 21*3ac0a46fSAndroid Build Coastguard Worker void Set(size_t x, size_t y); 22*3ac0a46fSAndroid Build Coastguard Worker 23*3ac0a46fSAndroid Build Coastguard Worker private: 24*3ac0a46fSAndroid Build Coastguard Worker const size_t m_height; 25*3ac0a46fSAndroid Build Coastguard Worker const size_t m_rowSize; 26*3ac0a46fSAndroid Build Coastguard Worker FixedZeroedDataVector<uint32_t> m_bits; 27*3ac0a46fSAndroid Build Coastguard Worker }; 28*3ac0a46fSAndroid Build Coastguard Worker 29*3ac0a46fSAndroid Build Coastguard Worker #endif // FXBARCODE_COMMON_BC_COMMONBITMATRIX_H_ 30