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 // Original code is licensed as follows: 7 /* 8 * Copyright 2013 ZXing authors 9 * 10 * Licensed under the Apache License, Version 2.0 (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 13 * 14 * http://www.apache.org/licenses/LICENSE-2.0 15 * 16 * Unless required by applicable law or agreed to in writing, software 17 * distributed under the License is distributed on an "AS IS" BASIS, 18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19 * See the License for the specific language governing permissions and 20 * limitations under the License. 21 */ 22 23 #include "xfa/src/fxbarcode/barcode.h" 24 #include "BC_PDF417Common.h" 25 #include "BC_PDF417BarcodeValue.h" CBC_BarcodeValue()26CBC_BarcodeValue::CBC_BarcodeValue() {} ~CBC_BarcodeValue()27CBC_BarcodeValue::~CBC_BarcodeValue() {} setValue(int32_t value)28void CBC_BarcodeValue::setValue(int32_t value) { 29 int32_t confidence = 0; 30 for (int32_t i = 0; i < m_keys.GetSize(); i++) { 31 if (m_keys.GetAt(i) == value) { 32 confidence = m_values.GetAt(i); 33 m_values.SetAt(i, confidence + 1); 34 return; 35 } 36 } 37 confidence = 1; 38 m_keys.Add(value); 39 m_values.Add(confidence); 40 } getValue()41CFX_Int32Array* CBC_BarcodeValue::getValue() { 42 int32_t maxConfidence = -1; 43 CFX_Int32Array* result = new CFX_Int32Array; 44 for (int32_t i = 0; i < m_keys.GetSize(); i++) { 45 if (m_values.GetAt(i) > maxConfidence) { 46 maxConfidence = m_values.GetAt(i); 47 result->RemoveAll(); 48 result->Add(m_keys.GetAt(i)); 49 } else if (m_values.GetAt(i) == maxConfidence) { 50 result->Add(m_keys.GetAt(i)); 51 } 52 } 53 return result; 54 } getConfidence(int32_t value)55int32_t CBC_BarcodeValue::getConfidence(int32_t value) { 56 for (int32_t i = 0; i < m_keys.GetSize(); i++) 57 if (m_keys.GetAt(i) == value) { 58 return m_values.GetAt(i); 59 } 60 return -1; 61 } 62