| 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 "core/fxcrt/include/fx_basic.h" | 10 #include "core/fxcrt/include/fx_basic.h" | 
| 11 #include "core/fxcrt/include/fx_coordinates.h" | 11 #include "core/fxcrt/include/fx_coordinates.h" | 
| 12 #include "core/fxcrt/include/fx_system.h" | 12 #include "core/fxcrt/include/fx_system.h" | 
| 13 #include "xfa/fwl/core/fwl_error.h" | 13 #include "xfa/fwl/core/fwl_error.h" | 
| 14 #include "xfa/fwl/core/ifwl_target.h" |  | 
| 15 | 14 | 
|  | 15 // FWL contains three parallel inheritance hierarchies, which reference each | 
|  | 16 // other via pointers as follows: | 
|  | 17 // | 
|  | 18 //                   m_pIface                m_pImpl | 
|  | 19 //      CFWL_Widget ----------> IFWL_Widget ----------> CFWL_WidgetImp | 
|  | 20 //           |                       |                       | | 
|  | 21 //           A                       A                       A | 
|  | 22 //           |                       |                       | | 
|  | 23 //      CFWL_...                IFWL_...                CFWL_...Imp | 
|  | 24 // | 
|  | 25 | 
|  | 26 class CFWL_WidgetImp; | 
| 16 class CFX_Graphics; | 27 class CFX_Graphics; | 
|  | 28 class IFWL_App; | 
| 17 class IFWL_DataProvider; | 29 class IFWL_DataProvider; | 
| 18 class IFWL_Form; | 30 class IFWL_Form; | 
| 19 class IFWL_Thread; |  | 
| 20 class IFWL_ThemeProvider; | 31 class IFWL_ThemeProvider; | 
| 21 class IFWL_WidgetDelegate; | 32 class IFWL_WidgetDelegate; | 
| 22 | 33 | 
| 23 class IFWL_Widget : public IFWL_Target { | 34 class IFWL_Widget { | 
| 24  public: | 35  public: | 
|  | 36   IFWL_Widget() : m_pImpl(nullptr) {} | 
|  | 37   virtual ~IFWL_Widget(); | 
|  | 38 | 
| 25   FWL_ERR GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize = FALSE); | 39   FWL_ERR GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize = FALSE); | 
| 26   FWL_ERR GetGlobalRect(CFX_RectF& rect); | 40   FWL_ERR GetGlobalRect(CFX_RectF& rect); | 
| 27   FWL_ERR SetWidgetRect(const CFX_RectF& rect); | 41   FWL_ERR SetWidgetRect(const CFX_RectF& rect); | 
| 28   FWL_ERR GetClientRect(CFX_RectF& rect); | 42   FWL_ERR GetClientRect(CFX_RectF& rect); | 
| 29   IFWL_Widget* GetParent(); | 43   IFWL_Widget* GetParent(); | 
| 30   FWL_ERR SetParent(IFWL_Widget* pParent); | 44   FWL_ERR SetParent(IFWL_Widget* pParent); | 
| 31   IFWL_Widget* GetOwner(); | 45   IFWL_Widget* GetOwner(); | 
| 32   FWL_ERR SetOwner(IFWL_Widget* pOwner); | 46   FWL_ERR SetOwner(IFWL_Widget* pOwner); | 
| 33   IFWL_Widget* GetOuter(); | 47   IFWL_Widget* GetOuter(); | 
| 34   uint32_t GetStyles(); | 48   uint32_t GetStyles(); | 
| (...skipping 12 matching lines...) Expand all  Loading... | 
| 47   uint32_t HitTest(FX_FLOAT fx, FX_FLOAT fy); | 61   uint32_t HitTest(FX_FLOAT fx, FX_FLOAT fy); | 
| 48   FWL_ERR TransformTo(IFWL_Widget* pWidget, FX_FLOAT& fx, FX_FLOAT& fy); | 62   FWL_ERR TransformTo(IFWL_Widget* pWidget, FX_FLOAT& fx, FX_FLOAT& fy); | 
| 49   FWL_ERR TransformTo(IFWL_Widget* pWidget, CFX_RectF& rt); | 63   FWL_ERR TransformTo(IFWL_Widget* pWidget, CFX_RectF& rt); | 
| 50   FWL_ERR GetMatrix(CFX_Matrix& matrix, FX_BOOL bGlobal = FALSE); | 64   FWL_ERR GetMatrix(CFX_Matrix& matrix, FX_BOOL bGlobal = FALSE); | 
| 51   FWL_ERR SetMatrix(const CFX_Matrix& matrix); | 65   FWL_ERR SetMatrix(const CFX_Matrix& matrix); | 
| 52   FWL_ERR DrawWidget(CFX_Graphics* pGraphics, const CFX_Matrix* pMatrix = NULL); | 66   FWL_ERR DrawWidget(CFX_Graphics* pGraphics, const CFX_Matrix* pMatrix = NULL); | 
| 53   IFWL_ThemeProvider* GetThemeProvider(); | 67   IFWL_ThemeProvider* GetThemeProvider(); | 
| 54   FWL_ERR SetThemeProvider(IFWL_ThemeProvider* pThemeProvider); | 68   FWL_ERR SetThemeProvider(IFWL_ThemeProvider* pThemeProvider); | 
| 55   FWL_ERR SetDataProvider(IFWL_DataProvider* pDataProvider); | 69   FWL_ERR SetDataProvider(IFWL_DataProvider* pDataProvider); | 
| 56   IFWL_WidgetDelegate* SetDelegate(IFWL_WidgetDelegate* pDelegate); | 70   IFWL_WidgetDelegate* SetDelegate(IFWL_WidgetDelegate* pDelegate); | 
| 57   IFWL_Thread* GetOwnerThread() const; | 71   IFWL_App* GetOwnerThread() const; | 
| 58   CFX_SizeF GetOffsetFromParent(IFWL_Widget* pParent); | 72   CFX_SizeF GetOffsetFromParent(IFWL_Widget* pParent); | 
|  | 73 | 
|  | 74   // These call into equivalent polymorphic methods of m_pImpl. There | 
|  | 75   // should be no need to override these in subclasses. | 
|  | 76   FWL_ERR GetClassName(CFX_WideString& wsClass) const; | 
|  | 77   uint32_t GetClassID() const; | 
|  | 78   FX_BOOL IsInstance(const CFX_WideStringC& wsClass) const; | 
|  | 79   FWL_ERR Initialize(); | 
|  | 80   FWL_ERR Finalize(); | 
|  | 81 | 
|  | 82   CFWL_WidgetImp* GetImpl() const { return m_pImpl; } | 
|  | 83 | 
|  | 84  protected: | 
|  | 85   void SetImpl(CFWL_WidgetImp* pImpl) { m_pImpl = pImpl; } | 
|  | 86 | 
|  | 87  private: | 
|  | 88   CFWL_WidgetImp* m_pImpl; | 
| 59 }; | 89 }; | 
| 60 | 90 | 
| 61 #endif  // XFA_FWL_CORE_IFWL_WIDGET_H_ | 91 #endif  // XFA_FWL_CORE_IFWL_WIDGET_H_ | 
| OLD | NEW | 
|---|