| Index: xfa/src/fwl/src/core/include/fwl_widgetimp.h
|
| diff --git a/xfa/src/fwl/src/core/include/fwl_widgetimp.h b/xfa/src/fwl/src/core/include/fwl_widgetimp.h
|
| index bc6ea5f988b80007db573e502458109c4dc35b58..47a6775ab69192818355d75d71315d09e8f6d967 100644
|
| --- a/xfa/src/fwl/src/core/include/fwl_widgetimp.h
|
| +++ b/xfa/src/fwl/src/core/include/fwl_widgetimp.h
|
| @@ -1,163 +1,163 @@
|
| -// Copyright 2014 PDFium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
|
| -
|
| -#ifndef FWL_WIDGETIMP_H_
|
| -#define FWL_WIDGETIMP_H_
|
| -
|
| -#include "xfa/include/fwl/core/fwl_widget.h"
|
| -#include "xfa/src/fwl/src/core/include/fwl_targetimp.h"
|
| -
|
| -class CFWL_NoteTarget;
|
| -class CFWL_NoteThreadImp;
|
| -class CFWL_WidgetImpProperties;
|
| -class CFWL_WidgetMgr;
|
| -class IFWL_DataProvider;
|
| -class IFWL_ThemeProvider;
|
| -class IFWL_Widget;
|
| -class IFWL_WidgetDelegate;
|
| -
|
| -class CFWL_WidgetImp : public CFWL_TargetImp {
|
| - public:
|
| - virtual FWL_ERR Initialize();
|
| - virtual FWL_ERR Finalize();
|
| -
|
| - virtual FWL_ERR GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize = FALSE);
|
| - virtual FWL_ERR GetGlobalRect(CFX_RectF& rect);
|
| - virtual FWL_ERR SetWidgetRect(const CFX_RectF& rect);
|
| - virtual FWL_ERR GetClientRect(CFX_RectF& rect);
|
| - virtual IFWL_Widget* GetParent();
|
| - virtual FWL_ERR SetParent(IFWL_Widget* pParent);
|
| - virtual IFWL_Widget* GetOwner();
|
| - virtual FWL_ERR SetOwner(IFWL_Widget* pOwner);
|
| - virtual IFWL_Widget* GetOuter();
|
| - virtual FX_DWORD GetStyles();
|
| - virtual FWL_ERR ModifyStyles(FX_DWORD dwStylesAdded,
|
| - FX_DWORD dwStylesRemoved);
|
| - virtual FX_DWORD GetStylesEx();
|
| - virtual FWL_ERR ModifyStylesEx(FX_DWORD dwStylesExAdded,
|
| - FX_DWORD dwStylesExRemoved);
|
| - virtual FX_DWORD GetStates();
|
| - virtual FWL_ERR SetStates(FX_DWORD dwStates, FX_BOOL bSet = TRUE);
|
| - virtual FWL_ERR SetPrivateData(void* module_id,
|
| - void* pData,
|
| - PD_CALLBACK_FREEDATA callback);
|
| - virtual void* GetPrivateData(void* module_id);
|
| - virtual FWL_ERR Update();
|
| - virtual FWL_ERR LockUpdate();
|
| - virtual FWL_ERR UnlockUpdate();
|
| - virtual FX_DWORD HitTest(FX_FLOAT fx, FX_FLOAT fy);
|
| - virtual FWL_ERR TransformTo(IFWL_Widget* pWidget, FX_FLOAT& fx, FX_FLOAT& fy);
|
| - virtual FWL_ERR TransformTo(IFWL_Widget* pWidget, CFX_RectF& rt);
|
| - virtual FWL_ERR GetMatrix(CFX_Matrix& matrix, FX_BOOL bGlobal = FALSE);
|
| - virtual FWL_ERR SetMatrix(const CFX_Matrix& matrix);
|
| - virtual FWL_ERR DrawWidget(CFX_Graphics* pGraphics,
|
| - const CFX_Matrix* pMatrix = NULL);
|
| - virtual IFWL_ThemeProvider* GetThemeProvider();
|
| - virtual FWL_ERR SetThemeProvider(IFWL_ThemeProvider* pThemeProvider);
|
| - virtual FWL_ERR SetDataProvider(IFWL_DataProvider* pDataProvider);
|
| - virtual IFWL_WidgetDelegate* SetDelegate(IFWL_WidgetDelegate* pDelegate);
|
| - virtual IFWL_NoteThread* GetOwnerThread() const;
|
| - FWL_ERR SetOwnerThread(CFWL_NoteThreadImp* pOwnerThread);
|
| - IFWL_Widget* GetInterface() const;
|
| - void SetInterface(IFWL_Widget* pInterface);
|
| - CFX_SizeF GetOffsetFromParent(IFWL_Widget* pParent);
|
| -
|
| - protected:
|
| - CFWL_WidgetImp(const CFWL_WidgetImpProperties& properties,
|
| - IFWL_Widget* pOuter);
|
| - virtual ~CFWL_WidgetImp();
|
| - FX_BOOL IsEnabled() const;
|
| - FX_BOOL IsVisible() const;
|
| - FX_BOOL IsActive() const;
|
| - FX_BOOL IsOverLapper() const;
|
| - FX_BOOL IsPopup() const;
|
| - FX_BOOL IsChild() const;
|
| - FX_BOOL IsLocked() const;
|
| - FX_BOOL IsOffscreen() const;
|
| - FX_BOOL HasBorder() const;
|
| - FX_BOOL HasEdge() const;
|
| - void GetEdgeRect(CFX_RectF& rtEdge);
|
| - FX_FLOAT GetBorderSize(FX_BOOL bCX = TRUE);
|
| - FX_FLOAT GetEdgeWidth();
|
| - void GetRelativeRect(CFX_RectF& rect);
|
| - void* GetThemeCapacity(FX_DWORD dwCapacity);
|
| - IFWL_ThemeProvider* GetAvailableTheme();
|
| - CFWL_WidgetImp* GetRootOuter();
|
| - CFX_SizeF CalcTextSize(const CFX_WideString& wsText,
|
| - IFWL_ThemeProvider* pTheme,
|
| - FX_BOOL bMultiLine = FALSE,
|
| - int32_t iLineWidth = -1);
|
| - void CalcTextRect(const CFX_WideString& wsText,
|
| - IFWL_ThemeProvider* pTheme,
|
| - FX_DWORD dwTTOStyles,
|
| - int32_t iTTOAlign,
|
| - CFX_RectF& rect);
|
| - void SetFocus(FX_BOOL bFocus);
|
| - void SetGrab(FX_BOOL bSet);
|
| - FX_BOOL GetPopupPos(FX_FLOAT fMinHeight,
|
| - FX_FLOAT fMaxHeight,
|
| - const CFX_RectF& rtAnchor,
|
| - CFX_RectF& rtPopup);
|
| - FX_BOOL GetPopupPosMenu(FX_FLOAT fMinHeight,
|
| - FX_FLOAT fMaxHeight,
|
| - const CFX_RectF& rtAnchor,
|
| - CFX_RectF& rtPopup);
|
| - FX_BOOL GetPopupPosComboBox(FX_FLOAT fMinHeight,
|
| - FX_FLOAT fMaxHeight,
|
| - const CFX_RectF& rtAnchor,
|
| - CFX_RectF& rtPopup);
|
| - FX_BOOL GetPopupPosGeneral(FX_FLOAT fMinHeight,
|
| - FX_FLOAT fMaxHeight,
|
| - const CFX_RectF& rtAnchor,
|
| - CFX_RectF& rtPopup);
|
| - FX_BOOL GetScreenSize(FX_FLOAT& fx, FX_FLOAT& fy);
|
| - void RegisterEventTarget(IFWL_Widget* pEventSource = NULL,
|
| - FX_DWORD dwFilter = FWL_EVENT_ALL_MASK);
|
| - void UnregisterEventTarget();
|
| - void DispatchKeyEvent(CFWL_MsgKey* pNote);
|
| - void DispatchEvent(CFWL_Event* pEvent);
|
| - void Repaint(const CFX_RectF* pRect = NULL);
|
| - void DrawBackground(CFX_Graphics* pGraphics,
|
| - int32_t iPartBk,
|
| - IFWL_ThemeProvider* pTheme,
|
| - const CFX_Matrix* pMatrix = NULL);
|
| - void DrawBorder(CFX_Graphics* pGraphics,
|
| - int32_t iPartBorder,
|
| - IFWL_ThemeProvider* pTheme,
|
| - const CFX_Matrix* pMatrix = NULL);
|
| - void DrawEdge(CFX_Graphics* pGraphics,
|
| - int32_t iPartEdge,
|
| - IFWL_ThemeProvider* pTheme,
|
| - const CFX_Matrix* pMatrix = NULL);
|
| - void NotifyDriver();
|
| -
|
| - FX_BOOL IsParent(IFWL_Widget* pParent);
|
| - CFWL_WidgetMgr* m_pWidgetMgr;
|
| - CFWL_NoteThreadImp* m_pOwnerThread;
|
| - CFWL_WidgetImpProperties* m_pProperties;
|
| - CFX_PrivateData* m_pPrivateData;
|
| - IFWL_WidgetDelegate* m_pDelegate;
|
| - IFWL_WidgetDelegate* m_pCurDelegate;
|
| - IFWL_Widget* m_pOuter;
|
| - IFWL_Widget* m_pInterface;
|
| - int32_t m_iLock;
|
| - friend class CFWL_WidgetImpDelegate;
|
| - friend void FWL_SetWidgetRect(IFWL_Widget* widget, const CFX_RectF& rect);
|
| - friend void FWL_SetWidgetStates(IFWL_Widget* widget, FX_DWORD dwStates);
|
| - friend void FWL_SetWidgetStyles(IFWL_Widget* widget, FX_DWORD dwStyles);
|
| -};
|
| -
|
| -class CFWL_WidgetImpDelegate : public IFWL_WidgetDelegate {
|
| - public:
|
| - CFWL_WidgetImpDelegate();
|
| - ~CFWL_WidgetImpDelegate() override {}
|
| - int32_t OnProcessMessage(CFWL_Message* pMessage) override;
|
| - FWL_ERR OnProcessEvent(CFWL_Event* pEvent) override;
|
| - FWL_ERR OnDrawWidget(CFX_Graphics* pGraphics,
|
| - const CFX_Matrix* pMatrix = NULL) override;
|
| -};
|
| -
|
| -#endif // FWL_WIDGETIMP_H_
|
| +// Copyright 2014 PDFium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
|
| +
|
| +#ifndef FWL_WIDGETIMP_H_
|
| +#define FWL_WIDGETIMP_H_
|
| +
|
| +#include "xfa/include/fwl/core/fwl_widget.h"
|
| +#include "xfa/src/fwl/src/core/include/fwl_targetimp.h"
|
| +
|
| +class CFWL_NoteTarget;
|
| +class CFWL_NoteThreadImp;
|
| +class CFWL_WidgetImpProperties;
|
| +class CFWL_WidgetMgr;
|
| +class IFWL_DataProvider;
|
| +class IFWL_ThemeProvider;
|
| +class IFWL_Widget;
|
| +class IFWL_WidgetDelegate;
|
| +
|
| +class CFWL_WidgetImp : public CFWL_TargetImp {
|
| + public:
|
| + virtual FWL_ERR Initialize();
|
| + virtual FWL_ERR Finalize();
|
| +
|
| + virtual FWL_ERR GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize = FALSE);
|
| + virtual FWL_ERR GetGlobalRect(CFX_RectF& rect);
|
| + virtual FWL_ERR SetWidgetRect(const CFX_RectF& rect);
|
| + virtual FWL_ERR GetClientRect(CFX_RectF& rect);
|
| + virtual IFWL_Widget* GetParent();
|
| + virtual FWL_ERR SetParent(IFWL_Widget* pParent);
|
| + virtual IFWL_Widget* GetOwner();
|
| + virtual FWL_ERR SetOwner(IFWL_Widget* pOwner);
|
| + virtual IFWL_Widget* GetOuter();
|
| + virtual FX_DWORD GetStyles();
|
| + virtual FWL_ERR ModifyStyles(FX_DWORD dwStylesAdded,
|
| + FX_DWORD dwStylesRemoved);
|
| + virtual FX_DWORD GetStylesEx();
|
| + virtual FWL_ERR ModifyStylesEx(FX_DWORD dwStylesExAdded,
|
| + FX_DWORD dwStylesExRemoved);
|
| + virtual FX_DWORD GetStates();
|
| + virtual FWL_ERR SetStates(FX_DWORD dwStates, FX_BOOL bSet = TRUE);
|
| + virtual FWL_ERR SetPrivateData(void* module_id,
|
| + void* pData,
|
| + PD_CALLBACK_FREEDATA callback);
|
| + virtual void* GetPrivateData(void* module_id);
|
| + virtual FWL_ERR Update();
|
| + virtual FWL_ERR LockUpdate();
|
| + virtual FWL_ERR UnlockUpdate();
|
| + virtual FX_DWORD HitTest(FX_FLOAT fx, FX_FLOAT fy);
|
| + virtual FWL_ERR TransformTo(IFWL_Widget* pWidget, FX_FLOAT& fx, FX_FLOAT& fy);
|
| + virtual FWL_ERR TransformTo(IFWL_Widget* pWidget, CFX_RectF& rt);
|
| + virtual FWL_ERR GetMatrix(CFX_Matrix& matrix, FX_BOOL bGlobal = FALSE);
|
| + virtual FWL_ERR SetMatrix(const CFX_Matrix& matrix);
|
| + virtual FWL_ERR DrawWidget(CFX_Graphics* pGraphics,
|
| + const CFX_Matrix* pMatrix = NULL);
|
| + virtual IFWL_ThemeProvider* GetThemeProvider();
|
| + virtual FWL_ERR SetThemeProvider(IFWL_ThemeProvider* pThemeProvider);
|
| + virtual FWL_ERR SetDataProvider(IFWL_DataProvider* pDataProvider);
|
| + virtual IFWL_WidgetDelegate* SetDelegate(IFWL_WidgetDelegate* pDelegate);
|
| + virtual IFWL_NoteThread* GetOwnerThread() const;
|
| + FWL_ERR SetOwnerThread(CFWL_NoteThreadImp* pOwnerThread);
|
| + IFWL_Widget* GetInterface() const;
|
| + void SetInterface(IFWL_Widget* pInterface);
|
| + CFX_SizeF GetOffsetFromParent(IFWL_Widget* pParent);
|
| +
|
| + protected:
|
| + CFWL_WidgetImp(const CFWL_WidgetImpProperties& properties,
|
| + IFWL_Widget* pOuter);
|
| + virtual ~CFWL_WidgetImp();
|
| + FX_BOOL IsEnabled() const;
|
| + FX_BOOL IsVisible() const;
|
| + FX_BOOL IsActive() const;
|
| + FX_BOOL IsOverLapper() const;
|
| + FX_BOOL IsPopup() const;
|
| + FX_BOOL IsChild() const;
|
| + FX_BOOL IsLocked() const;
|
| + FX_BOOL IsOffscreen() const;
|
| + FX_BOOL HasBorder() const;
|
| + FX_BOOL HasEdge() const;
|
| + void GetEdgeRect(CFX_RectF& rtEdge);
|
| + FX_FLOAT GetBorderSize(FX_BOOL bCX = TRUE);
|
| + FX_FLOAT GetEdgeWidth();
|
| + void GetRelativeRect(CFX_RectF& rect);
|
| + void* GetThemeCapacity(FX_DWORD dwCapacity);
|
| + IFWL_ThemeProvider* GetAvailableTheme();
|
| + CFWL_WidgetImp* GetRootOuter();
|
| + CFX_SizeF CalcTextSize(const CFX_WideString& wsText,
|
| + IFWL_ThemeProvider* pTheme,
|
| + FX_BOOL bMultiLine = FALSE,
|
| + int32_t iLineWidth = -1);
|
| + void CalcTextRect(const CFX_WideString& wsText,
|
| + IFWL_ThemeProvider* pTheme,
|
| + FX_DWORD dwTTOStyles,
|
| + int32_t iTTOAlign,
|
| + CFX_RectF& rect);
|
| + void SetFocus(FX_BOOL bFocus);
|
| + void SetGrab(FX_BOOL bSet);
|
| + FX_BOOL GetPopupPos(FX_FLOAT fMinHeight,
|
| + FX_FLOAT fMaxHeight,
|
| + const CFX_RectF& rtAnchor,
|
| + CFX_RectF& rtPopup);
|
| + FX_BOOL GetPopupPosMenu(FX_FLOAT fMinHeight,
|
| + FX_FLOAT fMaxHeight,
|
| + const CFX_RectF& rtAnchor,
|
| + CFX_RectF& rtPopup);
|
| + FX_BOOL GetPopupPosComboBox(FX_FLOAT fMinHeight,
|
| + FX_FLOAT fMaxHeight,
|
| + const CFX_RectF& rtAnchor,
|
| + CFX_RectF& rtPopup);
|
| + FX_BOOL GetPopupPosGeneral(FX_FLOAT fMinHeight,
|
| + FX_FLOAT fMaxHeight,
|
| + const CFX_RectF& rtAnchor,
|
| + CFX_RectF& rtPopup);
|
| + FX_BOOL GetScreenSize(FX_FLOAT& fx, FX_FLOAT& fy);
|
| + void RegisterEventTarget(IFWL_Widget* pEventSource = NULL,
|
| + FX_DWORD dwFilter = FWL_EVENT_ALL_MASK);
|
| + void UnregisterEventTarget();
|
| + void DispatchKeyEvent(CFWL_MsgKey* pNote);
|
| + void DispatchEvent(CFWL_Event* pEvent);
|
| + void Repaint(const CFX_RectF* pRect = NULL);
|
| + void DrawBackground(CFX_Graphics* pGraphics,
|
| + int32_t iPartBk,
|
| + IFWL_ThemeProvider* pTheme,
|
| + const CFX_Matrix* pMatrix = NULL);
|
| + void DrawBorder(CFX_Graphics* pGraphics,
|
| + int32_t iPartBorder,
|
| + IFWL_ThemeProvider* pTheme,
|
| + const CFX_Matrix* pMatrix = NULL);
|
| + void DrawEdge(CFX_Graphics* pGraphics,
|
| + int32_t iPartEdge,
|
| + IFWL_ThemeProvider* pTheme,
|
| + const CFX_Matrix* pMatrix = NULL);
|
| + void NotifyDriver();
|
| +
|
| + FX_BOOL IsParent(IFWL_Widget* pParent);
|
| + CFWL_WidgetMgr* m_pWidgetMgr;
|
| + CFWL_NoteThreadImp* m_pOwnerThread;
|
| + CFWL_WidgetImpProperties* m_pProperties;
|
| + CFX_PrivateData* m_pPrivateData;
|
| + IFWL_WidgetDelegate* m_pDelegate;
|
| + IFWL_WidgetDelegate* m_pCurDelegate;
|
| + IFWL_Widget* m_pOuter;
|
| + IFWL_Widget* m_pInterface;
|
| + int32_t m_iLock;
|
| + friend class CFWL_WidgetImpDelegate;
|
| + friend void FWL_SetWidgetRect(IFWL_Widget* widget, const CFX_RectF& rect);
|
| + friend void FWL_SetWidgetStates(IFWL_Widget* widget, FX_DWORD dwStates);
|
| + friend void FWL_SetWidgetStyles(IFWL_Widget* widget, FX_DWORD dwStyles);
|
| +};
|
| +
|
| +class CFWL_WidgetImpDelegate : public IFWL_WidgetDelegate {
|
| + public:
|
| + CFWL_WidgetImpDelegate();
|
| + ~CFWL_WidgetImpDelegate() override {}
|
| + int32_t OnProcessMessage(CFWL_Message* pMessage) override;
|
| + FWL_ERR OnProcessEvent(CFWL_Event* pEvent) override;
|
| + FWL_ERR OnDrawWidget(CFX_Graphics* pGraphics,
|
| + const CFX_Matrix* pMatrix = NULL) override;
|
| +};
|
| +
|
| +#endif // FWL_WIDGETIMP_H_
|
|
|