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 7 #ifndef _BC_DEFAULTPLACEMENT_H_ 8 #define _BC_DEFAULTPLACEMENT_H_ 9 class CBC_DefaultPlacement { 10 public: 11 CBC_DefaultPlacement(CFX_WideString codewords, 12 int32_t numcols, 13 int32_t numrows); 14 virtual ~CBC_DefaultPlacement(); 15 16 int32_t getNumrows(); 17 int32_t getNumcols(); 18 CFX_ByteArray& getBits(); 19 FX_BOOL getBit(int32_t col, int32_t row); 20 void setBit(int32_t col, int32_t row, FX_BOOL bit); 21 FX_BOOL hasBit(int32_t col, int32_t row); 22 void place(); 23 24 private: 25 CFX_WideString m_codewords; 26 int32_t m_numrows; 27 int32_t m_numcols; 28 CFX_ByteArray m_bits; 29 void module(int32_t row, int32_t col, int32_t pos, int32_t bit); 30 void utah(int32_t row, int32_t col, int32_t pos); 31 void corner1(int32_t pos); 32 void corner2(int32_t pos); 33 void corner3(int32_t pos); 34 void corner4(int32_t pos); 35 }; 36 #endif 37