blob: c9b36b3bdeef463e1be4e9c04e8a01523263160c [file] [log] [blame]
// 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_FXFA_CXFA_FFBARCODE_H_
#define XFA_FXFA_CXFA_FFBARCODE_H_
#include "fxbarcode/BC_Library.h"
#include "xfa/fxfa/cxfa_ffpageview.h"
#include "xfa/fxfa/cxfa_fftextedit.h"
enum class BarcodeType {
aztec,
codabar,
code11,
code128,
code128A,
code128B,
code128C,
code128SSCC,
code2Of5Industrial,
code2Of5Interleaved,
code2Of5Matrix,
code2Of5Standard,
code3Of9,
code3Of9extended,
code49,
code93,
dataMatrix,
ean13,
ean13add2,
ean13add5,
ean13pwcd,
ean8,
ean8add2,
ean8add5,
fim,
logmars,
maxicode,
msi,
pdf417,
pdf417macro,
plessey,
postAUSCust2,
postAUSCust3,
postAUSReplyPaid,
postAUSStandard,
postUKRM4SCC,
postUS5Zip,
postUSDPBC,
postUSIMB,
postUSStandard,
QRCode,
rfid,
rss14,
rss14Expanded,
rss14Limited,
rss14Stacked,
rss14StackedOmni,
rss14Truncated,
telepen,
ucc128,
ucc128random,
ucc128sscc,
upcA,
upcAadd2,
upcAadd5,
upcApwcd,
upcE,
upcEadd2,
upcEadd5,
upcean2,
upcean5,
upsMaxicode
};
struct BarCodeInfo {
uint32_t uHash;
const wchar_t* pName;
BarcodeType eName;
BC_TYPE eBCType;
};
class CXFA_FFBarcode : public CXFA_FFTextEdit {
public:
static const BarCodeInfo* GetBarcodeTypeByName(const CFX_WideStringC& wsName);
explicit CXFA_FFBarcode(CXFA_WidgetAcc* pDataAcc);
~CXFA_FFBarcode() override;
// CXFA_FFTextEdit
bool LoadWidget() override;
void RenderWidget(CXFA_Graphics* pGS,
CFX_Matrix* pMatrix,
uint32_t dwStatus) override;
void UpdateWidgetProperty() override;
bool OnLButtonDown(uint32_t dwFlags, const CFX_PointF& point) override;
bool OnRButtonDown(uint32_t dwFlags, const CFX_PointF& point) override;
};
#endif // XFA_FXFA_CXFA_FFBARCODE_H_