| // Copyright 2014 PDFium Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | |
| #ifndef _BC_DEFAULTPLACEMENT_H_ | |
| #define _BC_DEFAULTPLACEMENT_H_ | |
| class CBC_DefaultPlacement { | |
| public: | |
| CBC_DefaultPlacement(CFX_WideString codewords, | |
| int32_t numcols, | |
| int32_t numrows); | |
| virtual ~CBC_DefaultPlacement(); | |
| int32_t getNumrows(); | |
| int32_t getNumcols(); | |
| CFX_ByteArray& getBits(); | |
| FX_BOOL getBit(int32_t col, int32_t row); | |
| void setBit(int32_t col, int32_t row, FX_BOOL bit); | |
| FX_BOOL hasBit(int32_t col, int32_t row); | |
| void place(); | |
| private: | |
| CFX_WideString m_codewords; | |
| int32_t m_numrows; | |
| int32_t m_numcols; | |
| CFX_ByteArray m_bits; | |
| void module(int32_t row, int32_t col, int32_t pos, int32_t bit); | |
| void utah(int32_t row, int32_t col, int32_t pos); | |
| void corner1(int32_t pos); | |
| void corner2(int32_t pos); | |
| void corner3(int32_t pos); | |
| void corner4(int32_t pos); | |
| }; | |
| #endif |