// 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 _FWL_BARCODE_LIGHT_H | |
#define _FWL_BARCODE_LIGHT_H | |
class CFWL_Widget; | |
class CFWL_WidgetProperties; | |
class IFWL_BarcodeDP; | |
class CFWL_Edit; | |
class CFWL_Barcode; | |
class CFWL_BarcodeDP; | |
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(); | |
public: | |
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; } | |
FX_DWORD m_dwAttributeMask; | |
virtual FX_DWORD GetBarcodeAttributeMask() { return m_dwAttributeMask; } | |
public: | |
CFWL_BarcodeDP() : m_dwAttributeMask(0) {} | |
}; | |
CFWL_BarcodeDP m_barcodeData; | |
}; | |
#endif |