Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Side by Side Diff: xfa/include/fwl/core/fwl_widget.h

Issue 1827923002: Move xfa/include/fwl/{core,basewidget} to xfa/fwl/{core,basewidget}. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Rebase to master Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « xfa/include/fwl/core/fwl_timer.h ('k') | xfa/include/fwl/core/fwl_widgetdef.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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_INCLUDE_FWL_CORE_FWL_WIDGET_H_
8 #define XFA_INCLUDE_FWL_CORE_FWL_WIDGET_H_
9
10 #include "xfa/include/fwl/core/fwl_note.h"
11 #include "xfa/include/fwl/core/fwl_target.h"
12 #include "xfa/include/fwl/core/fwl_widgetdef.h"
13
14 class IFWL_ThemeProvider;
15 class CFWL_WidgetImpProperties;
16 class IFWL_DataProvider;
17 class IFWL_Widget;
18 class IFWL_WidgetDelegate;
19 class IFWL_Custom;
20 class IFWL_Proxy;
21 class IFWL_Form;
22
23 class IFWL_DataProvider {
24 public:
25 virtual ~IFWL_DataProvider() {}
26 virtual FWL_ERR GetCaption(IFWL_Widget* pWidget,
27 CFX_WideString& wsCaption) = 0;
28 };
29 class IFWL_Widget : public IFWL_Target {
30 public:
31 FWL_ERR GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize = FALSE);
32 FWL_ERR GetGlobalRect(CFX_RectF& rect);
33 FWL_ERR SetWidgetRect(const CFX_RectF& rect);
34 FWL_ERR GetClientRect(CFX_RectF& rect);
35 IFWL_Widget* GetParent();
36 FWL_ERR SetParent(IFWL_Widget* pParent);
37 IFWL_Widget* GetOwner();
38 FWL_ERR SetOwner(IFWL_Widget* pOwner);
39 IFWL_Widget* GetOuter();
40 FX_DWORD GetStyles();
41 FWL_ERR ModifyStyles(FX_DWORD dwStylesAdded, FX_DWORD dwStylesRemoved);
42 FX_DWORD GetStylesEx();
43 FWL_ERR ModifyStylesEx(FX_DWORD dwStylesExAdded, FX_DWORD dwStylesExRemoved);
44 FX_DWORD GetStates();
45 FWL_ERR SetStates(FX_DWORD dwStates, FX_BOOL bSet = TRUE);
46 FWL_ERR SetPrivateData(void* module_id,
47 void* pData,
48 PD_CALLBACK_FREEDATA callback);
49 void* GetPrivateData(void* module_id);
50 FWL_ERR Update();
51 FWL_ERR LockUpdate();
52 FWL_ERR UnlockUpdate();
53 FX_DWORD HitTest(FX_FLOAT fx, FX_FLOAT fy);
54 FWL_ERR TransformTo(IFWL_Widget* pWidget, FX_FLOAT& fx, FX_FLOAT& fy);
55 FWL_ERR TransformTo(IFWL_Widget* pWidget, CFX_RectF& rt);
56 FWL_ERR GetMatrix(CFX_Matrix& matrix, FX_BOOL bGlobal = FALSE);
57 FWL_ERR SetMatrix(const CFX_Matrix& matrix);
58 FWL_ERR DrawWidget(CFX_Graphics* pGraphics, const CFX_Matrix* pMatrix = NULL);
59 IFWL_ThemeProvider* GetThemeProvider();
60 FWL_ERR SetThemeProvider(IFWL_ThemeProvider* pThemeProvider);
61 FWL_ERR SetDataProvider(IFWL_DataProvider* pDataProvider);
62 IFWL_WidgetDelegate* SetDelegate(IFWL_WidgetDelegate* pDelegate);
63 IFWL_NoteThread* GetOwnerThread() const;
64 CFX_SizeF GetOffsetFromParent(IFWL_Widget* pParent);
65 };
66 class IFWL_WidgetDelegate {
67 public:
68 virtual ~IFWL_WidgetDelegate() {}
69 virtual int32_t OnProcessMessage(CFWL_Message* pMessage) = 0;
70 virtual FWL_ERR OnProcessEvent(CFWL_Event* pEvent) = 0;
71 virtual FWL_ERR OnDrawWidget(CFX_Graphics* pGraphics,
72 const CFX_Matrix* pMatrix = NULL) = 0;
73 };
74 class CFWL_WidgetImpProperties {
75 public:
76 CFWL_WidgetImpProperties() {
77 m_ctmOnParent.SetIdentity();
78 m_rtWidget.Set(0, 0, 0, 0);
79 m_dwStyles = FWL_WGTSTYLE_Child;
80 m_dwStyleExes = 0;
81 m_dwStates = 0;
82 m_pThemeProvider = NULL;
83 m_pDataProvider = NULL;
84 m_pParent = NULL;
85 m_pOwner = NULL;
86 }
87 CFX_Matrix m_ctmOnParent;
88 CFX_RectF m_rtWidget;
89 FX_DWORD m_dwStyles;
90 FX_DWORD m_dwStyleExes;
91 FX_DWORD m_dwStates;
92 IFWL_ThemeProvider* m_pThemeProvider;
93 IFWL_DataProvider* m_pDataProvider;
94 IFWL_Widget* m_pParent;
95 IFWL_Widget* m_pOwner;
96 };
97 class IFWL_Custom : public IFWL_Widget {
98 public:
99 static IFWL_Custom* Create(const CFWL_WidgetImpProperties& properties,
100 IFWL_Widget* pOuter);
101
102 FWL_ERR SetProxy(IFWL_Proxy* pProxy);
103
104 protected:
105 IFWL_Custom();
106 };
107 class IFWL_Proxy {
108 public:
109 virtual ~IFWL_Proxy() {}
110 virtual FWL_ERR GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize = FALSE) = 0;
111 virtual FWL_ERR Update() = 0;
112 };
113 typedef CFX_MapPtrTemplate<FX_DWORD, FX_DWORD> CFX_MapAccelerators;
114 FWL_ERR FWL_Accelerator_SetApp(CFX_MapAccelerators* pMapAccel);
115 FWL_ERR FWL_Accelerator_SetThread(CFX_MapAccelerators* pMapAccel);
116 FWL_ERR FWL_Accelerator_SetForm(IFWL_Form* pFrom,
117 CFX_MapAccelerators* pMapAccel);
118 FWL_ERR FWL_EnabelWidget(IFWL_Widget* widget, FX_BOOL bEnable);
119
120 #endif // XFA_INCLUDE_FWL_CORE_FWL_WIDGET_H_
OLDNEW
« no previous file with comments | « xfa/include/fwl/core/fwl_timer.h ('k') | xfa/include/fwl/core/fwl_widgetdef.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698