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 FXBARCODE_QRCODE_BC_QRCODERMASKUTIL_H_ 8 #define FXBARCODE_QRCODE_BC_QRCODERMASKUTIL_H_ 9 class CBC_CommonByteMatrix; 10 class CBC_QRCoderMaskUtil { 11 public: 12 CBC_QRCoderMaskUtil(); 13 virtual ~CBC_QRCoderMaskUtil(); 14 static bool GetDataMaskBit(int32_t maskPattern, 15 int32_t x, 16 int32_t y, 17 int32_t& e); 18 19 static int32_t ApplyMaskPenaltyRule1(CBC_CommonByteMatrix* matrix); 20 static int32_t ApplyMaskPenaltyRule2(CBC_CommonByteMatrix* matrix); 21 static int32_t ApplyMaskPenaltyRule3(CBC_CommonByteMatrix* matrix); 22 static int32_t ApplyMaskPenaltyRule4(CBC_CommonByteMatrix* matrix); 23 static int32_t ApplyMaskPenaltyRule1Internal(CBC_CommonByteMatrix* matrix, 24 bool isHorizontal); 25 }; 26 27 #endif // FXBARCODE_QRCODE_BC_QRCODERMASKUTIL_H_ 28