OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef XFA_INCLUDE_FWL_CORE_FWL_WIDGETMGR_H_ | 7 #ifndef XFA_FWL_CORE_IFWL_WIDGETMGR_H_ |
8 #define XFA_INCLUDE_FWL_CORE_FWL_WIDGETMGR_H_ | 8 #define XFA_FWL_CORE_IFWL_WIDGETMGR_H_ |
9 | 9 |
10 #include "xfa/include/fwl/core/fwl_note.h" | 10 #include "core/fxcrt/include/fx_system.h" |
| 11 #include "xfa/fwl/core/fwl_error.h" |
| 12 #include "core/fxcrt/include/fx_coordinates.h" |
11 | 13 |
| 14 class CFX_WideString; |
| 15 class CFX_Matrix; |
12 class IFWL_Widget; | 16 class IFWL_Widget; |
13 | 17 |
14 #define FWL_WGTMGR_DisableThread 0x00000001 | |
15 #define FWL_WGTMGR_DisableForm 0x00000002 | |
16 | |
17 enum FWL_WGTRELATION { | 18 enum FWL_WGTRELATION { |
18 FWL_WGTRELATION_Parent = 0, | 19 FWL_WGTRELATION_Parent = 0, |
19 FWL_WGTRELATION_Owner, | 20 FWL_WGTRELATION_Owner, |
20 FWL_WGTRELATION_FirstSibling, | 21 FWL_WGTRELATION_FirstSibling, |
21 FWL_WGTRELATION_PriorSibling, | 22 FWL_WGTRELATION_PriorSibling, |
22 FWL_WGTRELATION_NextSibling, | 23 FWL_WGTRELATION_NextSibling, |
23 FWL_WGTRELATION_LastSibling, | 24 FWL_WGTRELATION_LastSibling, |
24 FWL_WGTRELATION_FirstChild, | 25 FWL_WGTRELATION_FirstChild, |
25 FWL_WGTRELATION_LastChild, | 26 FWL_WGTRELATION_LastChild, |
26 FWL_WGTRELATION_SystemForm | 27 FWL_WGTRELATION_SystemForm |
27 }; | 28 }; |
28 | 29 |
29 class IFWL_WidgetMgr { | 30 class IFWL_WidgetMgr { |
30 public: | 31 public: |
31 virtual ~IFWL_WidgetMgr() {} | 32 virtual ~IFWL_WidgetMgr() {} |
32 virtual int32_t CountWidgets(IFWL_Widget* pParent = NULL) = 0; | 33 virtual int32_t CountWidgets(IFWL_Widget* pParent = NULL) = 0; |
33 virtual IFWL_Widget* GetWidget(int32_t nIndex, | 34 virtual IFWL_Widget* GetWidget(int32_t nIndex, |
34 IFWL_Widget* pParent = NULL) = 0; | 35 IFWL_Widget* pParent = NULL) = 0; |
35 virtual IFWL_Widget* GetWidget(IFWL_Widget* pWidget, | 36 virtual IFWL_Widget* GetWidget(IFWL_Widget* pWidget, |
36 FWL_WGTRELATION eRelation) = 0; | 37 FWL_WGTRELATION eRelation) = 0; |
37 virtual int32_t GetWidgetIndex(IFWL_Widget* pWidget) = 0; | 38 virtual int32_t GetWidgetIndex(IFWL_Widget* pWidget) = 0; |
38 virtual FX_BOOL SetWidgetIndex(IFWL_Widget* pWidget, int32_t nIndex) = 0; | 39 virtual FX_BOOL SetWidgetIndex(IFWL_Widget* pWidget, int32_t nIndex) = 0; |
39 virtual FWL_ERR RepaintWidget(IFWL_Widget* pWidget, | 40 virtual FWL_ERR RepaintWidget(IFWL_Widget* pWidget, |
40 const CFX_RectF* pRect = NULL) = 0; | 41 const CFX_RectF* pRect = NULL) = 0; |
41 virtual FX_DWORD GetCapability() = 0; | 42 virtual FX_DWORD GetCapability() = 0; |
42 }; | 43 }; |
| 44 |
43 IFWL_WidgetMgr* FWL_GetWidgetMgr(); | 45 IFWL_WidgetMgr* FWL_GetWidgetMgr(); |
44 FX_BOOL FWL_WidgetIsChild(IFWL_Widget* parent, IFWL_Widget* find); | 46 FX_BOOL FWL_WidgetIsChild(IFWL_Widget* parent, IFWL_Widget* find); |
45 | |
46 class IFWL_WidgetMgrDelegate { | |
47 public: | |
48 virtual ~IFWL_WidgetMgrDelegate() {} | |
49 virtual FWL_ERR OnSetCapability( | |
50 FX_DWORD dwCapability = FWL_WGTMGR_DisableThread) = 0; | |
51 virtual int32_t OnProcessMessageToForm(CFWL_Message* pMessage) = 0; | |
52 virtual FWL_ERR OnDrawWidget(IFWL_Widget* pWidget, | |
53 CFX_Graphics* pGraphics, | |
54 const CFX_Matrix* pMatrix = NULL) = 0; | |
55 }; | |
56 FWL_ERR FWL_WidgetMgrSnapshot(IFWL_Widget* pWidget, | 47 FWL_ERR FWL_WidgetMgrSnapshot(IFWL_Widget* pWidget, |
57 const CFX_WideString* saveFile, | 48 const CFX_WideString* saveFile, |
58 const CFX_Matrix* pMatrix = NULL); | 49 const CFX_Matrix* pMatrix = NULL); |
59 | 50 |
60 #endif // XFA_INCLUDE_FWL_CORE_FWL_WIDGETMGR_H_ | 51 #endif // XFA_FWL_CORE_IFWL_WIDGETMGR_H_ |
OLD | NEW |