1 // Copyright 2014 PDFium Authors. All rights reserved.
\r
2 // Use of this source code is governed by a BSD-style license that can be
\r
3 // found in the LICENSE file.
\r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
\r
7 #ifndef _FWL_BARCODE_IMP_H
\r
8 #define _FWL_BARCODE_IMP_H
\r
9 class CFWL_WidgetImp;
\r
10 class CFWL_WidgetImpProperties;
\r
11 class CFWL_WidgetImpDelegate;
\r
13 class CFWL_EditImpDelegate;
\r
15 class CFWL_BarcodeEdit;
\r
16 class CFWL_BarcodeEditDelegate;
\r
17 class CFWL_BarcodeImp;
\r
18 class CFWL_BarcodeImpDelegate;
\r
19 #define XFA_BCS_NeedUpdate 0x0001
\r
20 #define XFA_BCS_EncodeSuccess 0x0002
\r
21 class CFWL_BarcodeImp : public CFWL_EditImp
\r
24 CFWL_BarcodeImp(IFWL_Widget *pOuter = NULL);
\r
25 CFWL_BarcodeImp(const CFWL_WidgetImpProperties &properties, IFWL_Widget *pOuter = NULL);
\r
26 virtual ~CFWL_BarcodeImp();
\r
27 virtual FWL_ERR GetClassName(CFX_WideString &wsClass) const;
\r
28 virtual FX_DWORD GetClassID() const;
\r
29 virtual FWL_ERR Initialize();
\r
30 virtual FWL_ERR Finalize();
\r
31 virtual FWL_ERR Update();
\r
32 virtual FWL_ERR DrawWidget(CFX_Graphics *pGraphics, const CFX_Matrix *pMatrix = NULL);
\r
33 virtual FWL_ERR SetText(const CFX_WideString &wsText);
\r
34 virtual void SetType(BC_TYPE type);
\r
35 FX_BOOL IsProtectedType();
\r
37 void GenerateBarcodeImageCache();
\r
38 void CreateBarcodeEngine();
\r
39 void ReleaseBarcodeEngine();
\r
40 IFX_Barcode *m_pBarcodeEngine;
\r
41 FX_DWORD m_dwStatus;
\r
43 friend class CFWL_BarcodeImpDelegate;
\r
45 class CFWL_BarcodeImpDelegate : public CFWL_EditImpDelegate
\r
48 CFWL_BarcodeImpDelegate(CFWL_BarcodeImp *pOwner);
\r
49 virtual FWL_ERR OnProcessEvent(CFWL_Event *pEvent);
\r