| 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_FWL_CORE_IFWL_WIDGET_H_ | 7 #ifndef XFA_FWL_CORE_IFWL_WIDGET_H_ |
| 8 #define XFA_FWL_CORE_IFWL_WIDGET_H_ | 8 #define XFA_FWL_CORE_IFWL_WIDGET_H_ |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 class IFWL_App; | 59 class IFWL_App; |
| 60 class IFWL_DataProvider; | 60 class IFWL_DataProvider; |
| 61 class IFWL_ThemeProvider; | 61 class IFWL_ThemeProvider; |
| 62 class IFWL_Widget; | 62 class IFWL_Widget; |
| 63 enum class FWL_Type; | 63 enum class FWL_Type; |
| 64 | 64 |
| 65 class IFWL_Widget { | 65 class IFWL_Widget { |
| 66 public: | 66 public: |
| 67 virtual ~IFWL_Widget(); | 67 virtual ~IFWL_Widget(); |
| 68 | 68 |
| 69 virtual void Initialize(); | |
| 70 virtual void Finalize(); | |
| 71 virtual FWL_Type GetClassID() const = 0; | 69 virtual FWL_Type GetClassID() const = 0; |
| 72 virtual FX_BOOL IsInstance(const CFX_WideStringC& wsClass) const; | 70 virtual FX_BOOL IsInstance(const CFX_WideStringC& wsClass) const; |
| 73 | 71 |
| 74 virtual FWL_Error GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize = FALSE); | 72 virtual FWL_Error GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize = FALSE); |
| 75 virtual FWL_Error GetGlobalRect(CFX_RectF& rect); | 73 virtual FWL_Error GetGlobalRect(CFX_RectF& rect); |
| 76 virtual FWL_Error SetWidgetRect(const CFX_RectF& rect); | 74 virtual FWL_Error SetWidgetRect(const CFX_RectF& rect); |
| 77 virtual FWL_Error GetClientRect(CFX_RectF& rect); | 75 virtual FWL_Error GetClientRect(CFX_RectF& rect); |
| 78 | 76 |
| 79 virtual IFWL_Widget* GetParent(); | 77 virtual IFWL_Widget* GetParent(); |
| 80 virtual FWL_Error SetParent(IFWL_Widget* pParent); | 78 virtual FWL_Error SetParent(IFWL_Widget* pParent); |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 196 IFWL_ThemeProvider* pTheme, | 194 IFWL_ThemeProvider* pTheme, |
| 197 const CFX_Matrix* pMatrix = nullptr); | 195 const CFX_Matrix* pMatrix = nullptr); |
| 198 void DrawEdge(CFX_Graphics* pGraphics, | 196 void DrawEdge(CFX_Graphics* pGraphics, |
| 199 CFWL_Part iPartEdge, | 197 CFWL_Part iPartEdge, |
| 200 IFWL_ThemeProvider* pTheme, | 198 IFWL_ThemeProvider* pTheme, |
| 201 const CFX_Matrix* pMatrix = nullptr); | 199 const CFX_Matrix* pMatrix = nullptr); |
| 202 void NotifyDriver(); | 200 void NotifyDriver(); |
| 203 | 201 |
| 204 FX_BOOL IsParent(IFWL_Widget* pParent); | 202 FX_BOOL IsParent(IFWL_Widget* pParent); |
| 205 | 203 |
| 204 void SetDelegate(std::unique_ptr<IFWL_WidgetDelegate> delegate) { |
| 205 m_pDelegate = std::move(delegate); |
| 206 } |
| 207 IFWL_WidgetDelegate* GetDelegate() const { return m_pDelegate.get(); } |
| 208 |
| 206 const IFWL_App* const m_pOwnerApp; | 209 const IFWL_App* const m_pOwnerApp; |
| 207 CFWL_WidgetMgr* const m_pWidgetMgr; | 210 CFWL_WidgetMgr* const m_pWidgetMgr; |
| 208 std::unique_ptr<CFWL_WidgetImpProperties> m_pProperties; | 211 std::unique_ptr<CFWL_WidgetImpProperties> m_pProperties; |
| 209 IFWL_WidgetDelegate* m_pDelegate; | 212 IFWL_WidgetDelegate* m_pCurDelegate; // Not owned. |
| 210 IFWL_WidgetDelegate* m_pCurDelegate; | |
| 211 IFWL_Widget* m_pOuter; | 213 IFWL_Widget* m_pOuter; |
| 212 void* m_pLayoutItem; | 214 void* m_pLayoutItem; |
| 213 CFWL_Widget* m_pAssociate; | 215 CFWL_Widget* m_pAssociate; |
| 214 int32_t m_iLock; | 216 int32_t m_iLock; |
| 215 uint32_t m_nEventKey; | 217 uint32_t m_nEventKey; |
| 218 |
| 219 private: |
| 220 std::unique_ptr<IFWL_WidgetDelegate> m_pDelegate; |
| 216 }; | 221 }; |
| 217 | 222 |
| 218 class CFWL_WidgetImpDelegate : public IFWL_WidgetDelegate { | 223 class CFWL_WidgetImpDelegate : public IFWL_WidgetDelegate { |
| 219 public: | 224 public: |
| 220 CFWL_WidgetImpDelegate(); | 225 CFWL_WidgetImpDelegate(); |
| 221 ~CFWL_WidgetImpDelegate() override {} | 226 ~CFWL_WidgetImpDelegate() override {} |
| 222 void OnProcessMessage(CFWL_Message* pMessage) override; | 227 void OnProcessMessage(CFWL_Message* pMessage) override; |
| 223 void OnProcessEvent(CFWL_Event* pEvent) override; | 228 void OnProcessEvent(CFWL_Event* pEvent) override; |
| 224 void OnDrawWidget(CFX_Graphics* pGraphics, | 229 void OnDrawWidget(CFX_Graphics* pGraphics, |
| 225 const CFX_Matrix* pMatrix = nullptr) override; | 230 const CFX_Matrix* pMatrix = nullptr) override; |
| 226 }; | 231 }; |
| 227 | 232 |
| 228 #endif // XFA_FWL_CORE_IFWL_WIDGET_H_ | 233 #endif // XFA_FWL_CORE_IFWL_WIDGET_H_ |
| OLD | NEW |