diff options
Diffstat (limited to 'xfa/fwl/lightwidget/cfwl_barcode.h')
-rw-r--r-- | xfa/fwl/lightwidget/cfwl_barcode.h | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/xfa/fwl/lightwidget/cfwl_barcode.h b/xfa/fwl/lightwidget/cfwl_barcode.h new file mode 100644 index 0000000000..e1e7e658d5 --- /dev/null +++ b/xfa/fwl/lightwidget/cfwl_barcode.h @@ -0,0 +1,120 @@ +// 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 + +#ifndef XFA_FWL_LIGHTWIDGET_CFWL_BARCODE_H_ +#define XFA_FWL_LIGHTWIDGET_CFWL_BARCODE_H_ + +#include "xfa/fwl/basewidget/ifwl_barcode.h" +#include "xfa/fwl/core/fwl_error.h" +#include "xfa/fwl/lightwidget/cfwl_edit.h" + +class CFWL_Widget; +class CFWL_WidgetProperties; + +class CFWL_Barcode : public CFWL_Edit { + public: + static CFWL_Barcode* Create(); + FWL_ERR Initialize(const CFWL_WidgetProperties* pProperties = NULL); + void SetType(BC_TYPE type); + FX_BOOL IsProtectedType(); + + void SetCharEncoding(BC_CHAR_ENCODING encoding) { + m_barcodeData.m_dwAttributeMask |= FWL_BCDATTRIBUTE_CHARENCODING; + m_barcodeData.m_eCharEncoding = encoding; + } + void SetModuleHeight(int32_t height) { + m_barcodeData.m_dwAttributeMask |= FWL_BCDATTRIBUTE_MODULEHEIGHT; + m_barcodeData.m_nModuleHeight = height; + } + void SetModuleWidth(int32_t width) { + m_barcodeData.m_dwAttributeMask |= FWL_BCDATTRIBUTE_MODULEWIDTH; + m_barcodeData.m_nModuleWidth = width; + } + void SetDataLength(int32_t dataLength) { + m_barcodeData.m_dwAttributeMask |= FWL_BCDATTRIBUTE_DATALENGTH; + m_barcodeData.m_nDataLength = dataLength; + static_cast<IFWL_Barcode*>(m_pIface)->SetLimit(dataLength); + } + void SetCalChecksum(int32_t calChecksum) { + m_barcodeData.m_dwAttributeMask |= FWL_BCDATTRIBUTE_CALCHECKSUM; + m_barcodeData.m_nCalChecksum = calChecksum; + } + void SetPrintChecksum(FX_BOOL printChecksum) { + m_barcodeData.m_dwAttributeMask |= FWL_BCDATTRIBUTE_PRINTCHECKSUM; + m_barcodeData.m_bPrintChecksum = printChecksum; + } + void SetTextLocation(BC_TEXT_LOC location) { + m_barcodeData.m_dwAttributeMask |= FWL_BCDATTRIBUTE_TEXTLOCATION; + m_barcodeData.m_eTextLocation = location; + } + void SetWideNarrowRatio(int32_t ratio) { + m_barcodeData.m_dwAttributeMask |= FWL_BCDATTRIBUTE_WIDENARROWRATIO; + m_barcodeData.m_nWideNarrowRatio = ratio; + } + void SetStartChar(FX_CHAR startChar) { + m_barcodeData.m_dwAttributeMask |= FWL_BCDATTRIBUTE_STARTCHAR; + m_barcodeData.m_cStartChar = startChar; + } + void SetEndChar(FX_CHAR endChar) { + m_barcodeData.m_dwAttributeMask |= FWL_BCDATTRIBUTE_ENDCHAR; + m_barcodeData.m_cEndChar = endChar; + } + void SetVersion(int32_t version) { + m_barcodeData.m_dwAttributeMask |= FWL_BCDATTRIBUTE_VERSION; + m_barcodeData.m_nVersion = version; + } + void SetErrorCorrectionLevel(int32_t ecLevel) { + m_barcodeData.m_dwAttributeMask |= FWL_BCDATTRIBUTE_ECLEVEL; + m_barcodeData.m_nECLevel = ecLevel; + } + void SetTruncated(FX_BOOL truncated) { + m_barcodeData.m_dwAttributeMask |= FWL_BCDATTRIBUTE_TRUNCATED; + m_barcodeData.m_bTruncated = truncated; + } + void ResetBarcodeAttributes() { m_barcodeData.m_dwAttributeMask = 0; } + + protected: + CFWL_Barcode(); + virtual ~CFWL_Barcode(); + + class CFWL_BarcodeDP : public IFWL_BarcodeDP { + public: + virtual FWL_ERR GetCaption(IFWL_Widget* pWidget, CFX_WideString& wsCaption); + BC_CHAR_ENCODING m_eCharEncoding; + virtual BC_CHAR_ENCODING GetCharEncoding() { return m_eCharEncoding; } + int32_t m_nModuleHeight, m_nModuleWidth; + virtual int32_t GetModuleHeight() { return m_nModuleHeight; } + virtual int32_t GetModuleWidth() { return m_nModuleWidth; } + int32_t m_nDataLength; + virtual int32_t GetDataLength() { return m_nDataLength; } + int32_t m_nCalChecksum; + virtual int32_t GetCalChecksum() { return m_nCalChecksum; } + FX_BOOL m_bPrintChecksum; + virtual FX_BOOL GetPrintChecksum() { return m_bPrintChecksum; } + + BC_TEXT_LOC m_eTextLocation; + virtual BC_TEXT_LOC GetTextLocation() { return m_eTextLocation; } + int32_t m_nWideNarrowRatio; + virtual int32_t GetWideNarrowRatio() { return m_nWideNarrowRatio; } + FX_CHAR m_cStartChar, m_cEndChar; + virtual FX_CHAR GetStartChar() { return m_cStartChar; } + virtual FX_CHAR GetEndChar() { return m_cEndChar; } + int32_t m_nVersion; + virtual int32_t GetVersion() { return m_nVersion; } + int32_t m_nECLevel; + virtual int32_t GetErrorCorrectionLevel() { return m_nECLevel; } + FX_BOOL m_bTruncated; + virtual FX_BOOL GetTruncated() { return m_bTruncated; } + uint32_t m_dwAttributeMask; + virtual uint32_t GetBarcodeAttributeMask() { return m_dwAttributeMask; } + + public: + CFWL_BarcodeDP() : m_dwAttributeMask(0) {} + }; + CFWL_BarcodeDP m_barcodeData; +}; + +#endif // XFA_FWL_LIGHTWIDGET_CFWL_BARCODE_H_ |