1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 
7 #ifndef XFA_FXFA_APP_XFA_FFBARCODE_H_
8 #define XFA_FXFA_APP_XFA_FFBARCODE_H_
9 
10 #include "xfa/fxbarcode/include/BC_Library.h"
11 #include "xfa/fxfa/app/xfa_fftextedit.h"
12 #include "xfa/fxfa/include/xfa_ffpageview.h"
13 
14 class CXFA_FFBarcode : public CXFA_FFTextEdit {
15  public:
16   CXFA_FFBarcode(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc);
17   ~CXFA_FFBarcode() override;
18 
19   // CXFA_FFTextEdit
20   FX_BOOL LoadWidget() override;
21   void RenderWidget(CFX_Graphics* pGS,
22                     CFX_Matrix* pMatrix,
23                     uint32_t dwStatus) override;
24   void UpdateWidgetProperty() override;
25   FX_BOOL OnLButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
26   FX_BOOL OnRButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy) override;
27 };
28 
29 enum XFA_BARCODETYPEENUM {
30   XFA_BARCODETYPE_aztec,
31   XFA_BARCODETYPE_codabar,
32   XFA_BARCODETYPE_code11,
33   XFA_BARCODETYPE_code128,
34   XFA_BARCODETYPE_code128A,
35   XFA_BARCODETYPE_code128B,
36   XFA_BARCODETYPE_code128C,
37   XFA_BARCODETYPE_code128SSCC,
38   XFA_BARCODETYPE_code2Of5Industrial,
39   XFA_BARCODETYPE_code2Of5Interleaved,
40   XFA_BARCODETYPE_code2Of5Matrix,
41   XFA_BARCODETYPE_code2Of5Standard,
42   XFA_BARCODETYPE_code3Of9,
43   XFA_BARCODETYPE_code3Of9extended,
44   XFA_BARCODETYPE_code49,
45   XFA_BARCODETYPE_code93,
46   XFA_BARCODETYPE_dataMatrix,
47   XFA_BARCODETYPE_ean13,
48   XFA_BARCODETYPE_ean13add2,
49   XFA_BARCODETYPE_ean13add5,
50   XFA_BARCODETYPE_ean13pwcd,
51   XFA_BARCODETYPE_ean8,
52   XFA_BARCODETYPE_ean8add2,
53   XFA_BARCODETYPE_ean8add5,
54   XFA_BARCODETYPE_fim,
55   XFA_BARCODETYPE_logmars,
56   XFA_BARCODETYPE_maxicode,
57   XFA_BARCODETYPE_msi,
58   XFA_BARCODETYPE_pdf417,
59   XFA_BARCODETYPE_pdf417macro,
60   XFA_BARCODETYPE_plessey,
61   XFA_BARCODETYPE_postAUSCust2,
62   XFA_BARCODETYPE_postAUSCust3,
63   XFA_BARCODETYPE_postAUSReplyPaid,
64   XFA_BARCODETYPE_postAUSStandard,
65   XFA_BARCODETYPE_postUKRM4SCC,
66   XFA_BARCODETYPE_postUS5Zip,
67   XFA_BARCODETYPE_postUSDPBC,
68   XFA_BARCODETYPE_postUSIMB,
69   XFA_BARCODETYPE_postUSStandard,
70   XFA_BARCODETYPE_QRCode,
71   XFA_BARCODETYPE_rfid,
72   XFA_BARCODETYPE_rss14,
73   XFA_BARCODETYPE_rss14Expanded,
74   XFA_BARCODETYPE_rss14Limited,
75   XFA_BARCODETYPE_rss14Stacked,
76   XFA_BARCODETYPE_rss14StackedOmni,
77   XFA_BARCODETYPE_rss14Truncated,
78   XFA_BARCODETYPE_telepen,
79   XFA_BARCODETYPE_ucc128,
80   XFA_BARCODETYPE_ucc128random,
81   XFA_BARCODETYPE_ucc128sscc,
82   XFA_BARCODETYPE_upcA,
83   XFA_BARCODETYPE_upcAadd2,
84   XFA_BARCODETYPE_upcAadd5,
85   XFA_BARCODETYPE_upcApwcd,
86   XFA_BARCODETYPE_upcE,
87   XFA_BARCODETYPE_upcEadd2,
88   XFA_BARCODETYPE_upcEadd5,
89   XFA_BARCODETYPE_upcean2,
90   XFA_BARCODETYPE_upcean5,
91   XFA_BARCODETYPE_upsMaxicode
92 };
93 struct XFA_BARCODETYPEENUMINFO {
94   uint32_t uHash;
95   const FX_WCHAR* pName;
96   XFA_BARCODETYPEENUM eName;
97   BC_TYPE eBCType;
98 };
99 typedef XFA_BARCODETYPEENUMINFO const* XFA_LPCBARCODETYPEENUMINFO;
100 
101 #endif  // XFA_FXFA_APP_XFA_FFBARCODE_H_
102