| OLD | NEW | 
|---|
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 
| 6 // Original code is licensed as follows: | 6 // Original code is licensed as follows: | 
| 7 /* | 7 /* | 
| 8  * Copyright 2008 ZXing authors | 8  * Copyright 2008 ZXing authors | 
| 9  * | 9  * | 
| 10  * Licensed under the Apache License, Version 2.0 (the "License"); | 10  * Licensed under the Apache License, Version 2.0 (the "License"); | 
| 11  * you may not use this file except in compliance with the License. | 11  * you may not use this file except in compliance with the License. | 
| 12  * You may obtain a copy of the License at | 12  * You may obtain a copy of the License at | 
| 13  * | 13  * | 
| 14  *      http://www.apache.org/licenses/LICENSE-2.0 | 14  *      http://www.apache.org/licenses/LICENSE-2.0 | 
| 15  * | 15  * | 
| 16  * Unless required by applicable law or agreed to in writing, software | 16  * Unless required by applicable law or agreed to in writing, software | 
| 17  * distributed under the License is distributed on an "AS IS" BASIS, | 17  * distributed under the License is distributed on an "AS IS" BASIS, | 
| 18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
| 19  * See the License for the specific language governing permissions and | 19  * See the License for the specific language governing permissions and | 
| 20  * limitations under the License. | 20  * limitations under the License. | 
| 21  */ | 21  */ | 
| 22 | 22 | 
| 23 #include "xfa/src/fxbarcode/barcode.h" |  | 
| 24 #include "xfa/src/fxbarcode/common/BC_CommonByteMatrix.h" | 23 #include "xfa/src/fxbarcode/common/BC_CommonByteMatrix.h" | 
| 25 #include "xfa/src/fxbarcode/qrcode/BC_QRCoder.h" | 24 #include "xfa/src/fxbarcode/qrcode/BC_QRCoder.h" | 
| 26 #include "xfa/src/fxbarcode/qrcode/BC_QRCoderBitVector.h" | 25 #include "xfa/src/fxbarcode/qrcode/BC_QRCoderBitVector.h" | 
| 27 #include "xfa/src/fxbarcode/qrcode/BC_QRCoderErrorCorrectionLevel.h" | 26 #include "xfa/src/fxbarcode/qrcode/BC_QRCoderErrorCorrectionLevel.h" | 
| 28 #include "xfa/src/fxbarcode/qrcode/BC_QRCoderMaskUtil.h" | 27 #include "xfa/src/fxbarcode/qrcode/BC_QRCoderMaskUtil.h" | 
| 29 #include "xfa/src/fxbarcode/qrcode/BC_QRCoderMatrixUtil.h" | 28 #include "xfa/src/fxbarcode/qrcode/BC_QRCoderMatrixUtil.h" | 
|  | 29 #include "xfa/src/fxbarcode/utils.h" | 
|  | 30 | 
| 30 const int32_t CBC_QRCoderMatrixUtil::POSITION_DETECTION_PATTERN[7][7] = { | 31 const int32_t CBC_QRCoderMatrixUtil::POSITION_DETECTION_PATTERN[7][7] = { | 
| 31     {1, 1, 1, 1, 1, 1, 1}, | 32     {1, 1, 1, 1, 1, 1, 1}, | 
| 32     {1, 0, 0, 0, 0, 0, 1}, | 33     {1, 0, 0, 0, 0, 0, 1}, | 
| 33     {1, 0, 1, 1, 1, 0, 1}, | 34     {1, 0, 1, 1, 1, 0, 1}, | 
| 34     {1, 0, 1, 1, 1, 0, 1}, | 35     {1, 0, 1, 1, 1, 0, 1}, | 
| 35     {1, 0, 1, 1, 1, 0, 1}, | 36     {1, 0, 1, 1, 1, 0, 1}, | 
| 36     {1, 0, 0, 0, 0, 0, 1}, | 37     {1, 0, 0, 0, 0, 0, 1}, | 
| 37     {1, 1, 1, 1, 1, 1, 1}}; | 38     {1, 1, 1, 1, 1, 1, 1}}; | 
| 38 const int32_t CBC_QRCoderMatrixUtil::HORIZONTAL_SEPARATION_PATTERN[1][8] = { | 39 const int32_t CBC_QRCoderMatrixUtil::HORIZONTAL_SEPARATION_PATTERN[1][8] = { | 
| 39     {0, 0, 0, 0, 0, 0, 0, 0}}; | 40     {0, 0, 0, 0, 0, 0, 0, 0}}; | 
| (...skipping 30 matching lines...) Expand all  Loading... | 
| 70         {6, 28, 54, 80, 106, 132, 158}, {6, 32, 58, 84, 110, 136, 162}, | 71         {6, 28, 54, 80, 106, 132, 158}, {6, 32, 58, 84, 110, 136, 162}, | 
| 71         {6, 26, 54, 82, 110, 138, 166}, {6, 30, 58, 86, 114, 142, 170}, | 72         {6, 26, 54, 82, 110, 138, 166}, {6, 30, 58, 86, 114, 142, 170}, | 
| 72 }; | 73 }; | 
| 73 const int32_t CBC_QRCoderMatrixUtil::TYPE_INFO_COORDINATES[15][2] = { | 74 const int32_t CBC_QRCoderMatrixUtil::TYPE_INFO_COORDINATES[15][2] = { | 
| 74     {8, 0}, {8, 1}, {8, 2}, {8, 3}, {8, 4}, {8, 5}, {8, 7}, {8, 8}, | 75     {8, 0}, {8, 1}, {8, 2}, {8, 3}, {8, 4}, {8, 5}, {8, 7}, {8, 8}, | 
| 75     {7, 8}, {5, 8}, {4, 8}, {3, 8}, {2, 8}, {1, 8}, {0, 8}, | 76     {7, 8}, {5, 8}, {4, 8}, {3, 8}, {2, 8}, {1, 8}, {0, 8}, | 
| 76 }; | 77 }; | 
| 77 const int32_t CBC_QRCoderMatrixUtil::VERSION_INFO_POLY = 0x1f25; | 78 const int32_t CBC_QRCoderMatrixUtil::VERSION_INFO_POLY = 0x1f25; | 
| 78 const int32_t CBC_QRCoderMatrixUtil::TYPE_INFO_POLY = 0x0537; | 79 const int32_t CBC_QRCoderMatrixUtil::TYPE_INFO_POLY = 0x0537; | 
| 79 const int32_t CBC_QRCoderMatrixUtil::TYPE_INFO_MASK_PATTERN = 0x5412; | 80 const int32_t CBC_QRCoderMatrixUtil::TYPE_INFO_MASK_PATTERN = 0x5412; | 
|  | 81 | 
| 80 void CBC_QRCoderMatrixUtil::ClearMatrix(CBC_CommonByteMatrix* matrix, | 82 void CBC_QRCoderMatrixUtil::ClearMatrix(CBC_CommonByteMatrix* matrix, | 
| 81                                         int32_t& e) { | 83                                         int32_t& e) { | 
| 82   if (matrix == NULL) { | 84   if (matrix == NULL) { | 
| 83     e = BCExceptionNullPointer; | 85     e = BCExceptionNullPointer; | 
| 84     BC_EXCEPTION_CHECK_ReturnVoid(e); | 86     BC_EXCEPTION_CHECK_ReturnVoid(e); | 
| 85   } | 87   } | 
| 86   matrix->clear((uint8_t)-1); | 88   matrix->clear((uint8_t)-1); | 
| 87 } | 89 } | 
| 88 void CBC_QRCoderMatrixUtil::BuildMatrix( | 90 void CBC_QRCoderMatrixUtil::BuildMatrix( | 
| 89     CBC_QRCoderBitVector* dataBits, | 91     CBC_QRCoderBitVector* dataBits, | 
| (...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 467 int32_t CBC_QRCoderMatrixUtil::FindMSBSet(int32_t value) { | 469 int32_t CBC_QRCoderMatrixUtil::FindMSBSet(int32_t value) { | 
| 468   int32_t numDigits = 0; | 470   int32_t numDigits = 0; | 
| 469   while (value != 0) { | 471   while (value != 0) { | 
| 470     value >>= 1; | 472     value >>= 1; | 
| 471     ++numDigits; | 473     ++numDigits; | 
| 472   } | 474   } | 
| 473   return numDigits; | 475   return numDigits; | 
| 474 } | 476 } | 
| 475 CBC_QRCoderMatrixUtil::CBC_QRCoderMatrixUtil() {} | 477 CBC_QRCoderMatrixUtil::CBC_QRCoderMatrixUtil() {} | 
| 476 CBC_QRCoderMatrixUtil::~CBC_QRCoderMatrixUtil() {} | 478 CBC_QRCoderMatrixUtil::~CBC_QRCoderMatrixUtil() {} | 
| OLD | NEW | 
|---|