| 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 | 6 |
| 7 #include "xfa/fwl/basewidget/fwl_barcodeimp.h" | 7 #include "xfa/fwl/basewidget/fwl_barcodeimp.h" |
| 8 | 8 |
| 9 #include "xfa/fwl/basewidget/fwl_editimp.h" | 9 #include "xfa/fwl/basewidget/fwl_editimp.h" |
| 10 #include "xfa/fwl/basewidget/fxmath_barcodeimp.h" |
| 10 #include "xfa/fwl/core/cfwl_themepart.h" | 11 #include "xfa/fwl/core/cfwl_themepart.h" |
| 11 #include "xfa/fwl/core/fwl_noteimp.h" | 12 #include "xfa/fwl/core/fwl_noteimp.h" |
| 12 #include "xfa/fwl/core/fwl_targetimp.h" | 13 #include "xfa/fwl/core/fwl_targetimp.h" |
| 13 #include "xfa/fwl/core/fwl_widgetimp.h" | 14 #include "xfa/fwl/core/fwl_widgetimp.h" |
| 14 #include "xfa/fwl/core/ifwl_themeprovider.h" | 15 #include "xfa/fwl/core/ifwl_themeprovider.h" |
| 15 | 16 |
| 16 // static | 17 // static |
| 17 IFWL_Barcode* IFWL_Barcode::Create(const CFWL_WidgetImpProperties& properties) { | 18 IFWL_Barcode* IFWL_Barcode::Create(const CFWL_WidgetImpProperties& properties) { |
| 18 IFWL_Barcode* pBarcode = new IFWL_Barcode; | 19 IFWL_Barcode* pBarcode = new IFWL_Barcode; |
| 19 CFWL_BarcodeImp* pBarcodeImpl = new CFWL_BarcodeImp(properties, nullptr); | 20 CFWL_BarcodeImp* pBarcodeImpl = new CFWL_BarcodeImp(properties, nullptr); |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 m_pBarcodeEngine->SetErrorCorrectionLevel(pData->GetErrorCorrectionLevel()); | 168 m_pBarcodeEngine->SetErrorCorrectionLevel(pData->GetErrorCorrectionLevel()); |
| 168 } | 169 } |
| 169 if (dwAttributeMask & FWL_BCDATTRIBUTE_TRUNCATED) { | 170 if (dwAttributeMask & FWL_BCDATTRIBUTE_TRUNCATED) { |
| 170 m_pBarcodeEngine->SetTruncated(pData->GetTruncated()); | 171 m_pBarcodeEngine->SetTruncated(pData->GetTruncated()); |
| 171 } | 172 } |
| 172 int32_t errorCode = 0; | 173 int32_t errorCode = 0; |
| 173 m_dwStatus = m_pBarcodeEngine->Encode(wsText.AsStringC(), TRUE, errorCode) | 174 m_dwStatus = m_pBarcodeEngine->Encode(wsText.AsStringC(), TRUE, errorCode) |
| 174 ? XFA_BCS_EncodeSuccess | 175 ? XFA_BCS_EncodeSuccess |
| 175 : 0; | 176 : 0; |
| 176 } | 177 } |
| 178 |
| 177 void CFWL_BarcodeImp::CreateBarcodeEngine() { | 179 void CFWL_BarcodeImp::CreateBarcodeEngine() { |
| 178 if ((m_pBarcodeEngine == NULL) && (m_type != BC_UNKNOWN)) { | 180 if (m_pBarcodeEngine || m_type == BC_UNKNOWN) |
| 179 m_pBarcodeEngine = FX_Barcode_Create(m_type); | 181 return; |
| 182 |
| 183 m_pBarcodeEngine = new CFX_Barcode; |
| 184 if (!m_pBarcodeEngine->Create(m_type)) { |
| 185 m_pBarcodeEngine->Release(); |
| 186 m_pBarcodeEngine = nullptr; |
| 180 } | 187 } |
| 181 } | 188 } |
| 189 |
| 182 void CFWL_BarcodeImp::ReleaseBarcodeEngine() { | 190 void CFWL_BarcodeImp::ReleaseBarcodeEngine() { |
| 183 if (m_pBarcodeEngine) { | 191 if (m_pBarcodeEngine) { |
| 184 m_pBarcodeEngine->Release(); | 192 m_pBarcodeEngine->Release(); |
| 185 m_pBarcodeEngine = NULL; | 193 m_pBarcodeEngine = NULL; |
| 186 } | 194 } |
| 187 } | 195 } |
| 188 void CFWL_BarcodeImp::SetType(BC_TYPE type) { | 196 void CFWL_BarcodeImp::SetType(BC_TYPE type) { |
| 189 if (m_type == type) { | 197 if (m_type == type) { |
| 190 return; | 198 return; |
| 191 } | 199 } |
| (...skipping 21 matching lines...) Expand all Loading... |
| 213 : CFWL_EditImpDelegate(pOwner) {} | 221 : CFWL_EditImpDelegate(pOwner) {} |
| 214 FWL_ERR CFWL_BarcodeImpDelegate::OnProcessEvent(CFWL_Event* pEvent) { | 222 FWL_ERR CFWL_BarcodeImpDelegate::OnProcessEvent(CFWL_Event* pEvent) { |
| 215 uint32_t dwFlag = pEvent->GetClassID(); | 223 uint32_t dwFlag = pEvent->GetClassID(); |
| 216 if (dwFlag == FWL_EVTHASH_EDT_TextChanged) { | 224 if (dwFlag == FWL_EVTHASH_EDT_TextChanged) { |
| 217 CFWL_BarcodeImp* pOwner = static_cast<CFWL_BarcodeImp*>(m_pOwner); | 225 CFWL_BarcodeImp* pOwner = static_cast<CFWL_BarcodeImp*>(m_pOwner); |
| 218 pOwner->ReleaseBarcodeEngine(); | 226 pOwner->ReleaseBarcodeEngine(); |
| 219 pOwner->m_dwStatus = XFA_BCS_NeedUpdate; | 227 pOwner->m_dwStatus = XFA_BCS_NeedUpdate; |
| 220 } | 228 } |
| 221 return CFWL_EditImpDelegate::OnProcessEvent(pEvent); | 229 return CFWL_EditImpDelegate::OnProcessEvent(pEvent); |
| 222 } | 230 } |
| OLD | NEW |