Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(295)

Unified Diff: xfa/src/fwl/src/basewidget/fxmath_barcodeimp.cpp

Issue 1636873004: XFA: Fix DOS newlines (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: All of them Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: xfa/src/fwl/src/basewidget/fxmath_barcodeimp.cpp
diff --git a/xfa/src/fwl/src/basewidget/fxmath_barcodeimp.cpp b/xfa/src/fwl/src/basewidget/fxmath_barcodeimp.cpp
index c4f31e4f3a9ad47277fc8e866476ed0df351e663..a79a1c1bf49377034b285c19747115fe90f7972f 100644
--- a/xfa/src/fwl/src/basewidget/fxmath_barcodeimp.cpp
+++ b/xfa/src/fwl/src/basewidget/fxmath_barcodeimp.cpp
@@ -1,385 +1,385 @@
-// Copyright 2014 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#include "xfa/src/foxitlib.h"
-#include "xfa/src/fwl/src/basewidget/include/fxmath_barcodeimp.h"
-static CBC_CodeBase* FX_Barcode_CreateBarCodeEngineObject(BC_TYPE type) {
- switch (type) {
- case BC_CODE39:
- return new CBC_Code39();
- case BC_CODABAR:
- return new CBC_Codabar();
- case BC_CODE128:
- return new CBC_Code128(BC_CODE128_B);
- case BC_CODE128_B:
- return new CBC_Code128(BC_CODE128_B);
- case BC_CODE128_C:
- return new CBC_Code128(BC_CODE128_C);
- case BC_EAN8:
- return new CBC_EAN8();
- case BC_UPCA:
- return new CBC_UPCA();
- case BC_EAN13:
- return new CBC_EAN13();
- case BC_QR_CODE:
- return new CBC_QRCode();
- case BC_PDF417:
- return new CBC_PDF417I();
- case BC_DATAMATRIX:
- return new CBC_DataMatrix();
- case BC_UNKNOWN:
- default:
- return NULL;
- }
-}
-CFX_Barcode::CFX_Barcode() {}
-CFX_Barcode::~CFX_Barcode() {
- if (m_pBCEngine) {
- delete m_pBCEngine;
- m_pBCEngine = NULL;
- }
-}
-FX_BOOL CFX_Barcode::Crreate(BC_TYPE type) {
- m_pBCEngine = FX_Barcode_CreateBarCodeEngineObject(type);
- return m_pBCEngine != NULL;
-}
-void CFX_Barcode::Release() {
- delete this;
-}
-BC_TYPE CFX_Barcode::GetType() {
- return m_pBCEngine ? m_pBCEngine->GetType() : BC_UNKNOWN;
-}
-FX_BOOL CFX_Barcode::SetCharEncoding(BC_CHAR_ENCODING encoding) {
- return m_pBCEngine ? m_pBCEngine->SetCharEncoding(encoding) : FALSE;
-}
-FX_BOOL CFX_Barcode::SetModuleHeight(int32_t moduleHeight) {
- return m_pBCEngine ? m_pBCEngine->SetModuleHeight(moduleHeight) : FALSE;
-}
-FX_BOOL CFX_Barcode::SetModuleWidth(int32_t moduleWidth) {
- return m_pBCEngine ? m_pBCEngine->SetModuleWidth(moduleWidth) : FALSE;
-}
-FX_BOOL CFX_Barcode::SetHeight(int32_t height) {
- return m_pBCEngine ? m_pBCEngine->SetHeight(height) : FALSE;
-}
-FX_BOOL CFX_Barcode::SetWidth(int32_t width) {
- return m_pBCEngine ? m_pBCEngine->SetWidth(width) : FALSE;
-}
-FX_BOOL CFX_Barcode::CheckContentValidity(const CFX_WideStringC& contents) {
- switch (GetType()) {
- case BC_CODE39:
- case BC_CODABAR:
- case BC_CODE128:
- case BC_CODE128_B:
- case BC_CODE128_C:
- case BC_EAN8:
- case BC_EAN13:
- case BC_UPCA:
- return m_pBCEngine
- ? static_cast<CBC_OneCode*>(m_pBCEngine)
- ->CheckContentValidity(contents)
- : TRUE;
- default:
- return TRUE;
- }
-}
-FX_BOOL CFX_Barcode::SetPrintChecksum(FX_BOOL checksum) {
- switch (GetType()) {
- case BC_CODE39:
- case BC_CODABAR:
- case BC_CODE128:
- case BC_CODE128_B:
- case BC_CODE128_C:
- case BC_EAN8:
- case BC_EAN13:
- case BC_UPCA:
- return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine)
- ->SetPrintChecksum(checksum),
- TRUE)
- : FALSE;
- default:
- return FALSE;
- }
-}
-FX_BOOL CFX_Barcode::SetDataLength(int32_t length) {
- switch (GetType()) {
- case BC_CODE39:
- case BC_CODABAR:
- case BC_CODE128:
- case BC_CODE128_B:
- case BC_CODE128_C:
- case BC_EAN8:
- case BC_EAN13:
- case BC_UPCA:
- return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine)
- ->SetDataLength(length),
- TRUE)
- : FALSE;
- default:
- return FALSE;
- }
-}
-FX_BOOL CFX_Barcode::SetCalChecksum(int32_t state) {
- switch (GetType()) {
- case BC_CODE39:
- case BC_CODABAR:
- case BC_CODE128:
- case BC_CODE128_B:
- case BC_CODE128_C:
- case BC_EAN8:
- case BC_EAN13:
- case BC_UPCA:
- return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine)
- ->SetCalChecksum(state),
- TRUE)
- : FALSE;
- default:
- return FALSE;
- }
-}
-FX_BOOL CFX_Barcode::SetFont(CFX_Font* pFont) {
- switch (GetType()) {
- case BC_CODE39:
- case BC_CODABAR:
- case BC_CODE128:
- case BC_CODE128_B:
- case BC_CODE128_C:
- case BC_EAN8:
- case BC_EAN13:
- case BC_UPCA:
- return m_pBCEngine
- ? static_cast<CBC_OneCode*>(m_pBCEngine)->SetFont(pFont)
- : FALSE;
- default:
- return FALSE;
- }
-}
-FX_BOOL CFX_Barcode::SetFontSize(FX_FLOAT size) {
- switch (GetType()) {
- case BC_CODE39:
- case BC_CODABAR:
- case BC_CODE128:
- case BC_CODE128_B:
- case BC_CODE128_C:
- case BC_EAN8:
- case BC_EAN13:
- case BC_UPCA:
- return m_pBCEngine
- ? (static_cast<CBC_OneCode*>(m_pBCEngine)->SetFontSize(size),
- TRUE)
- : FALSE;
- default:
- return FALSE;
- }
-}
-FX_BOOL CFX_Barcode::SetFontStyle(int32_t style) {
- switch (GetType()) {
- case BC_CODE39:
- case BC_CODABAR:
- case BC_CODE128:
- case BC_CODE128_B:
- case BC_CODE128_C:
- case BC_EAN8:
- case BC_EAN13:
- case BC_UPCA:
- return m_pBCEngine
- ? (static_cast<CBC_OneCode*>(m_pBCEngine)->SetFontStyle(style),
- TRUE)
- : FALSE;
- default:
- return FALSE;
- }
-}
-FX_BOOL CFX_Barcode::SetFontColor(FX_ARGB color) {
- switch (GetType()) {
- case BC_CODE39:
- case BC_CODABAR:
- case BC_CODE128:
- case BC_CODE128_B:
- case BC_CODE128_C:
- case BC_EAN8:
- case BC_EAN13:
- case BC_UPCA:
- return m_pBCEngine
- ? (static_cast<CBC_OneCode*>(m_pBCEngine)->SetFontColor(color),
- TRUE)
- : FALSE;
- default:
- return FALSE;
- }
-}
-FX_BOOL CFX_Barcode::SetTextLocation(BC_TEXT_LOC location) {
- typedef FX_BOOL (CBC_CodeBase::*memptrtype)(BC_TEXT_LOC);
- memptrtype memptr = NULL;
- switch (GetType()) {
- case BC_CODE39:
- memptr = (memptrtype)&CBC_Code39::SetTextLocation;
- break;
- case BC_CODABAR:
- memptr = (memptrtype)&CBC_Codabar::SetTextLocation;
- break;
- case BC_CODE128:
- case BC_CODE128_B:
- case BC_CODE128_C:
- memptr = (memptrtype)&CBC_Code128::SetTextLocation;
- break;
- default:
- break;
- }
- return m_pBCEngine && memptr ? (m_pBCEngine->*memptr)(location) : FALSE;
-}
-FX_BOOL CFX_Barcode::SetWideNarrowRatio(int32_t ratio) {
- typedef FX_BOOL (CBC_CodeBase::*memptrtype)(int32_t);
- memptrtype memptr = NULL;
- switch (GetType()) {
- case BC_CODE39:
- memptr = (memptrtype)&CBC_Code39::SetWideNarrowRatio;
- break;
- case BC_CODABAR:
- memptr = (memptrtype)&CBC_Codabar::SetWideNarrowRatio;
- break;
- default:
- break;
- }
- return m_pBCEngine && memptr ? (m_pBCEngine->*memptr)(ratio) : FALSE;
-}
-FX_BOOL CFX_Barcode::SetStartChar(FX_CHAR start) {
- typedef FX_BOOL (CBC_CodeBase::*memptrtype)(FX_CHAR);
- memptrtype memptr = NULL;
- switch (GetType()) {
- case BC_CODABAR:
- memptr = (memptrtype)&CBC_Codabar::SetStartChar;
- break;
- default:
- break;
- }
- return m_pBCEngine && memptr ? (m_pBCEngine->*memptr)(start) : FALSE;
-}
-FX_BOOL CFX_Barcode::SetEndChar(FX_CHAR end) {
- typedef FX_BOOL (CBC_CodeBase::*memptrtype)(FX_CHAR);
- memptrtype memptr = NULL;
- switch (GetType()) {
- case BC_CODABAR:
- memptr = (memptrtype)&CBC_Codabar::SetEndChar;
- break;
- default:
- break;
- }
- return m_pBCEngine && memptr ? (m_pBCEngine->*memptr)(end) : FALSE;
-}
-FX_BOOL CFX_Barcode::SetVersion(int32_t version) {
- typedef FX_BOOL (CBC_CodeBase::*memptrtype)(int32_t);
- memptrtype memptr = NULL;
- switch (GetType()) {
- case BC_QR_CODE:
- memptr = (memptrtype)&CBC_QRCode::SetVersion;
- break;
- default:
- break;
- }
- return m_pBCEngine && memptr ? (m_pBCEngine->*memptr)(version) : FALSE;
-}
-FX_BOOL CFX_Barcode::SetErrorCorrectionLevel(int32_t level) {
- typedef FX_BOOL (CBC_CodeBase::*memptrtype)(int32_t);
- memptrtype memptr = NULL;
- switch (GetType()) {
- case BC_QR_CODE:
- memptr = (memptrtype)&CBC_QRCode::SetErrorCorrectionLevel;
- break;
- case BC_PDF417:
- memptr = (memptrtype)&CBC_PDF417I::SetErrorCorrectionLevel;
- break;
- default:
- return FALSE;
- }
- return m_pBCEngine && memptr ? (m_pBCEngine->*memptr)(level) : FALSE;
-}
-FX_BOOL CFX_Barcode::SetTruncated(FX_BOOL truncated) {
- typedef void (CBC_CodeBase::*memptrtype)(FX_BOOL);
- memptrtype memptr = NULL;
- switch (GetType()) {
- case BC_PDF417:
- memptr = (memptrtype)&CBC_PDF417I::SetTruncated;
- break;
- default:
- break;
- }
- return m_pBCEngine && memptr ? ((m_pBCEngine->*memptr)(truncated), TRUE)
- : FALSE;
-}
-#ifndef BCExceptionNO
-#define BCExceptionNO 0
-#endif
-#ifndef BCExceptionFormatException
-#define BCExceptionFormatException 8
-#endif
-#ifndef BCExceptionUnSupportedBarcode
-#define BCExceptionUnSupportedBarcode 18
-#endif
-FX_BOOL CFX_Barcode::Encode(const CFX_WideStringC& contents,
- FX_BOOL isDevice,
- int32_t& e) {
- if (!m_pBCEngine) {
- return FALSE;
- }
- return m_pBCEngine->Encode(contents, isDevice, e);
-}
-FX_BOOL CFX_Barcode::RenderDevice(CFX_RenderDevice* device,
- const CFX_Matrix* matirx,
- int32_t& e) {
- if (!m_pBCEngine) {
- return FALSE;
- }
- return m_pBCEngine->RenderDevice(device, matirx, e);
-}
-FX_BOOL CFX_Barcode::RenderBitmap(CFX_DIBitmap*& pOutBitmap, int32_t& e) {
- if (!m_pBCEngine) {
- return FALSE;
- }
- return m_pBCEngine->RenderBitmap(pOutBitmap, e);
-}
-#define BC_TYPE_MIN BC_CODE39
-#define BC_TYPE_MAX BC_DATAMATRIX
-CFX_WideString CFX_Barcode::Decode(uint8_t* buf,
- int32_t width,
- int32_t height,
- int32_t& errorCode) {
- for (BC_TYPE t = BC_TYPE_MIN; t <= BC_TYPE_MAX;
- t = (BC_TYPE)((int32_t)t + 1)) {
- CBC_CodeBase* pTmpEngine = FX_Barcode_CreateBarCodeEngineObject(t);
- if (!pTmpEngine) {
- continue;
- }
- CFX_WideString ret = pTmpEngine->Decode(buf, width, height, errorCode);
- if (errorCode == BCExceptionNO) {
- return ret;
- }
- }
- errorCode = BCExceptionUnSupportedBarcode;
- return CFX_WideString();
-}
-CFX_WideString CFX_Barcode::Decode(CFX_DIBitmap* pBitmap, int32_t& errorCode) {
- for (BC_TYPE t = BC_TYPE_MIN; t <= BC_TYPE_MAX;
- t = (BC_TYPE)((int32_t)t + 1)) {
- CBC_CodeBase* pTmpEngine = FX_Barcode_CreateBarCodeEngineObject(t);
- if (!pTmpEngine) {
- continue;
- }
- CFX_WideString ret = pTmpEngine->Decode(pBitmap, errorCode);
- if (errorCode == BCExceptionNO) {
- return ret;
- }
- }
- errorCode = BCExceptionUnSupportedBarcode;
- return CFX_WideString();
-}
-IFX_Barcode* FX_Barcode_Create(BC_TYPE type) {
- CFX_Barcode* pBarcode = new CFX_Barcode;
- if (pBarcode->Crreate(type)) {
- return pBarcode;
- }
- pBarcode->Release();
- return NULL;
-}
+// Copyright 2014 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#include "xfa/src/foxitlib.h"
+#include "xfa/src/fwl/src/basewidget/include/fxmath_barcodeimp.h"
+static CBC_CodeBase* FX_Barcode_CreateBarCodeEngineObject(BC_TYPE type) {
+ switch (type) {
+ case BC_CODE39:
+ return new CBC_Code39();
+ case BC_CODABAR:
+ return new CBC_Codabar();
+ case BC_CODE128:
+ return new CBC_Code128(BC_CODE128_B);
+ case BC_CODE128_B:
+ return new CBC_Code128(BC_CODE128_B);
+ case BC_CODE128_C:
+ return new CBC_Code128(BC_CODE128_C);
+ case BC_EAN8:
+ return new CBC_EAN8();
+ case BC_UPCA:
+ return new CBC_UPCA();
+ case BC_EAN13:
+ return new CBC_EAN13();
+ case BC_QR_CODE:
+ return new CBC_QRCode();
+ case BC_PDF417:
+ return new CBC_PDF417I();
+ case BC_DATAMATRIX:
+ return new CBC_DataMatrix();
+ case BC_UNKNOWN:
+ default:
+ return NULL;
+ }
+}
+CFX_Barcode::CFX_Barcode() {}
+CFX_Barcode::~CFX_Barcode() {
+ if (m_pBCEngine) {
+ delete m_pBCEngine;
+ m_pBCEngine = NULL;
+ }
+}
+FX_BOOL CFX_Barcode::Crreate(BC_TYPE type) {
+ m_pBCEngine = FX_Barcode_CreateBarCodeEngineObject(type);
+ return m_pBCEngine != NULL;
+}
+void CFX_Barcode::Release() {
+ delete this;
+}
+BC_TYPE CFX_Barcode::GetType() {
+ return m_pBCEngine ? m_pBCEngine->GetType() : BC_UNKNOWN;
+}
+FX_BOOL CFX_Barcode::SetCharEncoding(BC_CHAR_ENCODING encoding) {
+ return m_pBCEngine ? m_pBCEngine->SetCharEncoding(encoding) : FALSE;
+}
+FX_BOOL CFX_Barcode::SetModuleHeight(int32_t moduleHeight) {
+ return m_pBCEngine ? m_pBCEngine->SetModuleHeight(moduleHeight) : FALSE;
+}
+FX_BOOL CFX_Barcode::SetModuleWidth(int32_t moduleWidth) {
+ return m_pBCEngine ? m_pBCEngine->SetModuleWidth(moduleWidth) : FALSE;
+}
+FX_BOOL CFX_Barcode::SetHeight(int32_t height) {
+ return m_pBCEngine ? m_pBCEngine->SetHeight(height) : FALSE;
+}
+FX_BOOL CFX_Barcode::SetWidth(int32_t width) {
+ return m_pBCEngine ? m_pBCEngine->SetWidth(width) : FALSE;
+}
+FX_BOOL CFX_Barcode::CheckContentValidity(const CFX_WideStringC& contents) {
+ switch (GetType()) {
+ case BC_CODE39:
+ case BC_CODABAR:
+ case BC_CODE128:
+ case BC_CODE128_B:
+ case BC_CODE128_C:
+ case BC_EAN8:
+ case BC_EAN13:
+ case BC_UPCA:
+ return m_pBCEngine
+ ? static_cast<CBC_OneCode*>(m_pBCEngine)
+ ->CheckContentValidity(contents)
+ : TRUE;
+ default:
+ return TRUE;
+ }
+}
+FX_BOOL CFX_Barcode::SetPrintChecksum(FX_BOOL checksum) {
+ switch (GetType()) {
+ case BC_CODE39:
+ case BC_CODABAR:
+ case BC_CODE128:
+ case BC_CODE128_B:
+ case BC_CODE128_C:
+ case BC_EAN8:
+ case BC_EAN13:
+ case BC_UPCA:
+ return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine)
+ ->SetPrintChecksum(checksum),
+ TRUE)
+ : FALSE;
+ default:
+ return FALSE;
+ }
+}
+FX_BOOL CFX_Barcode::SetDataLength(int32_t length) {
+ switch (GetType()) {
+ case BC_CODE39:
+ case BC_CODABAR:
+ case BC_CODE128:
+ case BC_CODE128_B:
+ case BC_CODE128_C:
+ case BC_EAN8:
+ case BC_EAN13:
+ case BC_UPCA:
+ return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine)
+ ->SetDataLength(length),
+ TRUE)
+ : FALSE;
+ default:
+ return FALSE;
+ }
+}
+FX_BOOL CFX_Barcode::SetCalChecksum(int32_t state) {
+ switch (GetType()) {
+ case BC_CODE39:
+ case BC_CODABAR:
+ case BC_CODE128:
+ case BC_CODE128_B:
+ case BC_CODE128_C:
+ case BC_EAN8:
+ case BC_EAN13:
+ case BC_UPCA:
+ return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine)
+ ->SetCalChecksum(state),
+ TRUE)
+ : FALSE;
+ default:
+ return FALSE;
+ }
+}
+FX_BOOL CFX_Barcode::SetFont(CFX_Font* pFont) {
+ switch (GetType()) {
+ case BC_CODE39:
+ case BC_CODABAR:
+ case BC_CODE128:
+ case BC_CODE128_B:
+ case BC_CODE128_C:
+ case BC_EAN8:
+ case BC_EAN13:
+ case BC_UPCA:
+ return m_pBCEngine
+ ? static_cast<CBC_OneCode*>(m_pBCEngine)->SetFont(pFont)
+ : FALSE;
+ default:
+ return FALSE;
+ }
+}
+FX_BOOL CFX_Barcode::SetFontSize(FX_FLOAT size) {
+ switch (GetType()) {
+ case BC_CODE39:
+ case BC_CODABAR:
+ case BC_CODE128:
+ case BC_CODE128_B:
+ case BC_CODE128_C:
+ case BC_EAN8:
+ case BC_EAN13:
+ case BC_UPCA:
+ return m_pBCEngine
+ ? (static_cast<CBC_OneCode*>(m_pBCEngine)->SetFontSize(size),
+ TRUE)
+ : FALSE;
+ default:
+ return FALSE;
+ }
+}
+FX_BOOL CFX_Barcode::SetFontStyle(int32_t style) {
+ switch (GetType()) {
+ case BC_CODE39:
+ case BC_CODABAR:
+ case BC_CODE128:
+ case BC_CODE128_B:
+ case BC_CODE128_C:
+ case BC_EAN8:
+ case BC_EAN13:
+ case BC_UPCA:
+ return m_pBCEngine
+ ? (static_cast<CBC_OneCode*>(m_pBCEngine)->SetFontStyle(style),
+ TRUE)
+ : FALSE;
+ default:
+ return FALSE;
+ }
+}
+FX_BOOL CFX_Barcode::SetFontColor(FX_ARGB color) {
+ switch (GetType()) {
+ case BC_CODE39:
+ case BC_CODABAR:
+ case BC_CODE128:
+ case BC_CODE128_B:
+ case BC_CODE128_C:
+ case BC_EAN8:
+ case BC_EAN13:
+ case BC_UPCA:
+ return m_pBCEngine
+ ? (static_cast<CBC_OneCode*>(m_pBCEngine)->SetFontColor(color),
+ TRUE)
+ : FALSE;
+ default:
+ return FALSE;
+ }
+}
+FX_BOOL CFX_Barcode::SetTextLocation(BC_TEXT_LOC location) {
+ typedef FX_BOOL (CBC_CodeBase::*memptrtype)(BC_TEXT_LOC);
+ memptrtype memptr = NULL;
+ switch (GetType()) {
+ case BC_CODE39:
+ memptr = (memptrtype)&CBC_Code39::SetTextLocation;
+ break;
+ case BC_CODABAR:
+ memptr = (memptrtype)&CBC_Codabar::SetTextLocation;
+ break;
+ case BC_CODE128:
+ case BC_CODE128_B:
+ case BC_CODE128_C:
+ memptr = (memptrtype)&CBC_Code128::SetTextLocation;
+ break;
+ default:
+ break;
+ }
+ return m_pBCEngine && memptr ? (m_pBCEngine->*memptr)(location) : FALSE;
+}
+FX_BOOL CFX_Barcode::SetWideNarrowRatio(int32_t ratio) {
+ typedef FX_BOOL (CBC_CodeBase::*memptrtype)(int32_t);
+ memptrtype memptr = NULL;
+ switch (GetType()) {
+ case BC_CODE39:
+ memptr = (memptrtype)&CBC_Code39::SetWideNarrowRatio;
+ break;
+ case BC_CODABAR:
+ memptr = (memptrtype)&CBC_Codabar::SetWideNarrowRatio;
+ break;
+ default:
+ break;
+ }
+ return m_pBCEngine && memptr ? (m_pBCEngine->*memptr)(ratio) : FALSE;
+}
+FX_BOOL CFX_Barcode::SetStartChar(FX_CHAR start) {
+ typedef FX_BOOL (CBC_CodeBase::*memptrtype)(FX_CHAR);
+ memptrtype memptr = NULL;
+ switch (GetType()) {
+ case BC_CODABAR:
+ memptr = (memptrtype)&CBC_Codabar::SetStartChar;
+ break;
+ default:
+ break;
+ }
+ return m_pBCEngine && memptr ? (m_pBCEngine->*memptr)(start) : FALSE;
+}
+FX_BOOL CFX_Barcode::SetEndChar(FX_CHAR end) {
+ typedef FX_BOOL (CBC_CodeBase::*memptrtype)(FX_CHAR);
+ memptrtype memptr = NULL;
+ switch (GetType()) {
+ case BC_CODABAR:
+ memptr = (memptrtype)&CBC_Codabar::SetEndChar;
+ break;
+ default:
+ break;
+ }
+ return m_pBCEngine && memptr ? (m_pBCEngine->*memptr)(end) : FALSE;
+}
+FX_BOOL CFX_Barcode::SetVersion(int32_t version) {
+ typedef FX_BOOL (CBC_CodeBase::*memptrtype)(int32_t);
+ memptrtype memptr = NULL;
+ switch (GetType()) {
+ case BC_QR_CODE:
+ memptr = (memptrtype)&CBC_QRCode::SetVersion;
+ break;
+ default:
+ break;
+ }
+ return m_pBCEngine && memptr ? (m_pBCEngine->*memptr)(version) : FALSE;
+}
+FX_BOOL CFX_Barcode::SetErrorCorrectionLevel(int32_t level) {
+ typedef FX_BOOL (CBC_CodeBase::*memptrtype)(int32_t);
+ memptrtype memptr = NULL;
+ switch (GetType()) {
+ case BC_QR_CODE:
+ memptr = (memptrtype)&CBC_QRCode::SetErrorCorrectionLevel;
+ break;
+ case BC_PDF417:
+ memptr = (memptrtype)&CBC_PDF417I::SetErrorCorrectionLevel;
+ break;
+ default:
+ return FALSE;
+ }
+ return m_pBCEngine && memptr ? (m_pBCEngine->*memptr)(level) : FALSE;
+}
+FX_BOOL CFX_Barcode::SetTruncated(FX_BOOL truncated) {
+ typedef void (CBC_CodeBase::*memptrtype)(FX_BOOL);
+ memptrtype memptr = NULL;
+ switch (GetType()) {
+ case BC_PDF417:
+ memptr = (memptrtype)&CBC_PDF417I::SetTruncated;
+ break;
+ default:
+ break;
+ }
+ return m_pBCEngine && memptr ? ((m_pBCEngine->*memptr)(truncated), TRUE)
+ : FALSE;
+}
+#ifndef BCExceptionNO
+#define BCExceptionNO 0
+#endif
+#ifndef BCExceptionFormatException
+#define BCExceptionFormatException 8
+#endif
+#ifndef BCExceptionUnSupportedBarcode
+#define BCExceptionUnSupportedBarcode 18
+#endif
+FX_BOOL CFX_Barcode::Encode(const CFX_WideStringC& contents,
+ FX_BOOL isDevice,
+ int32_t& e) {
+ if (!m_pBCEngine) {
+ return FALSE;
+ }
+ return m_pBCEngine->Encode(contents, isDevice, e);
+}
+FX_BOOL CFX_Barcode::RenderDevice(CFX_RenderDevice* device,
+ const CFX_Matrix* matirx,
+ int32_t& e) {
+ if (!m_pBCEngine) {
+ return FALSE;
+ }
+ return m_pBCEngine->RenderDevice(device, matirx, e);
+}
+FX_BOOL CFX_Barcode::RenderBitmap(CFX_DIBitmap*& pOutBitmap, int32_t& e) {
+ if (!m_pBCEngine) {
+ return FALSE;
+ }
+ return m_pBCEngine->RenderBitmap(pOutBitmap, e);
+}
+#define BC_TYPE_MIN BC_CODE39
+#define BC_TYPE_MAX BC_DATAMATRIX
+CFX_WideString CFX_Barcode::Decode(uint8_t* buf,
+ int32_t width,
+ int32_t height,
+ int32_t& errorCode) {
+ for (BC_TYPE t = BC_TYPE_MIN; t <= BC_TYPE_MAX;
+ t = (BC_TYPE)((int32_t)t + 1)) {
+ CBC_CodeBase* pTmpEngine = FX_Barcode_CreateBarCodeEngineObject(t);
+ if (!pTmpEngine) {
+ continue;
+ }
+ CFX_WideString ret = pTmpEngine->Decode(buf, width, height, errorCode);
+ if (errorCode == BCExceptionNO) {
+ return ret;
+ }
+ }
+ errorCode = BCExceptionUnSupportedBarcode;
+ return CFX_WideString();
+}
+CFX_WideString CFX_Barcode::Decode(CFX_DIBitmap* pBitmap, int32_t& errorCode) {
+ for (BC_TYPE t = BC_TYPE_MIN; t <= BC_TYPE_MAX;
+ t = (BC_TYPE)((int32_t)t + 1)) {
+ CBC_CodeBase* pTmpEngine = FX_Barcode_CreateBarCodeEngineObject(t);
+ if (!pTmpEngine) {
+ continue;
+ }
+ CFX_WideString ret = pTmpEngine->Decode(pBitmap, errorCode);
+ if (errorCode == BCExceptionNO) {
+ return ret;
+ }
+ }
+ errorCode = BCExceptionUnSupportedBarcode;
+ return CFX_WideString();
+}
+IFX_Barcode* FX_Barcode_Create(BC_TYPE type) {
+ CFX_Barcode* pBarcode = new CFX_Barcode;
+ if (pBarcode->Crreate(type)) {
+ return pBarcode;
+ }
+ pBarcode->Release();
+ return NULL;
+}
« no previous file with comments | « xfa/src/fwl/src/basewidget/fwl_tooltipctrlimp.cpp ('k') | xfa/src/fwl/src/basewidget/include/fwl_barcodeimp.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698