1ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// Copyright 2014 PDFium Authors. All rights reserved. 2ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// Use of this source code is governed by a BSD-style license that can be 3ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// found in the LICENSE file. 4ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann 5ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann 7ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#ifndef _BC_QRDATAMASK_H_ 8ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define _BC_QRDATAMASK_H_ 9ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannclass CBC_CommonBitMatrix; 10ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannclass CBC_QRDataMask { 11ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann public: 12ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static CFX_PtrArray* DATA_MASKS; 13ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CBC_QRDataMask(); 14ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann virtual ~CBC_QRDataMask(); 15ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Initialize(); 16ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Finalize(); 17ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann virtual FX_BOOL IsMasked(int32_t i, int32_t j) = 0; 18ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann void UnmaskBitMatirx(CBC_CommonBitMatrix* bits, int32_t dimension); 19ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static CBC_QRDataMask* ForReference(int32_t reference, int32_t& e); 20ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static int32_t BuildDataMasks(); 21ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann static void Destroy(); 22ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann}; 23ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#endif 24