Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
[pdfium.git] / xfa / src / fwl / src / basewidget / include / fwl_barcodeimp.h
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
4 \r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
6 \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
12 class CFWL_EditImp;\r
13 class CFWL_EditImpDelegate;\r
14 class IFWL_Widget;\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
22 {\r
23 public:\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
36 protected:\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
42     BC_TYPE                     m_type;\r
43     friend class CFWL_BarcodeImpDelegate;\r
44 };\r
45 class CFWL_BarcodeImpDelegate : public CFWL_EditImpDelegate\r
46 {\r
47 public:\r
48     CFWL_BarcodeImpDelegate(CFWL_BarcodeImp *pOwner);\r
49     virtual FWL_ERR             OnProcessEvent(CFWL_Event *pEvent);\r
50 };\r
51 #endif\r