diff options
-rw-r--r-- | fpdfsdk/pwl/cpwl_wnd.cpp | 34 | ||||
-rw-r--r-- | fpdfsdk/pwl/cpwl_wnd.h | 27 |
2 files changed, 18 insertions, 43 deletions
diff --git a/fpdfsdk/pwl/cpwl_wnd.cpp b/fpdfsdk/pwl/cpwl_wnd.cpp index a561b2de60..6b840f2bb2 100644 --- a/fpdfsdk/pwl/cpwl_wnd.cpp +++ b/fpdfsdk/pwl/cpwl_wnd.cpp @@ -23,13 +23,8 @@ constexpr float kDefaultFontSize = 9.0f; CPWL_Wnd::CreateParams::CreateParams() : rcRectWnd(0, 0, 0, 0), - pSystemHandler(nullptr), - pFontMap(nullptr), - pProvider(nullptr), - pFocusHandler(nullptr), dwFlags(0), sBackgroundColor(), - pAttachedWidget(nullptr), nBorderStyle(BorderStyle::SOLID), dwBorderWidth(1), sBorderColor(), @@ -37,8 +32,6 @@ CPWL_Wnd::CreateParams::CreateParams() nTransparency(255), fFontSize(kDefaultFontSize), sDash(3, 0, 0), - pAttachedData(nullptr), - pParentWnd(nullptr), pMsgControl(nullptr), eCursorType(FXCT_ARROW) {} @@ -422,10 +415,6 @@ void CPWL_Wnd::NotifyLButtonUp(CPWL_Wnd* child, const CFX_PointF& pos) {} void CPWL_Wnd::NotifyMouseMove(CPWL_Wnd* child, const CFX_PointF& pos) {} -CPWL_Wnd* CPWL_Wnd::GetParentWindow() const { - return m_CreationParams.pParentWnd; -} - CFX_FloatRect CPWL_Wnd::GetWindowRect() const { return m_rcWindow; } @@ -497,10 +486,6 @@ const CPWL_Dash& CPWL_Wnd::GetBorderDash() const { return m_CreationParams.sDash; } -CPWL_Wnd::PrivateData* CPWL_Wnd::GetAttachedData() const { - return m_CreationParams.pAttachedData.Get(); -} - CPWL_ScrollBar* CPWL_Wnd::GetVScrollBar() const { return HasFlag(PWS_VSCROLL) ? m_pVScrollBar.Get() : nullptr; } @@ -569,11 +554,6 @@ bool CPWL_Wnd::ClientHitTest(const CFX_PointF& point) const { return IsValid() && IsVisible() && GetClientRect().Contains(point); } -const CPWL_Wnd* CPWL_Wnd::GetRootWnd() const { - auto* pParent = m_CreationParams.pParentWnd; - return pParent ? pParent->GetRootWnd() : this; -} - bool CPWL_Wnd::SetVisible(bool bVisible) { if (!IsValid()) return true; @@ -699,19 +679,7 @@ void CPWL_Wnd::SetFontSize(float fFontSize) { } CFX_SystemHandler* CPWL_Wnd::GetSystemHandler() const { - return m_CreationParams.pSystemHandler; -} - -CPWL_Wnd::FocusHandlerIface* CPWL_Wnd::GetFocusHandler() const { - return m_CreationParams.pFocusHandler.Get(); -} - -CPWL_Wnd::ProviderIface* CPWL_Wnd::GetProvider() const { - return m_CreationParams.pProvider.Get(); -} - -IPVT_FontMap* CPWL_Wnd::GetFontMap() const { - return m_CreationParams.pFontMap; + return m_CreationParams.pSystemHandler.Get(); } CFX_Color CPWL_Wnd::GetBorderLeftTopColor(BorderStyle nBorderStyle) const { diff --git a/fpdfsdk/pwl/cpwl_wnd.h b/fpdfsdk/pwl/cpwl_wnd.h index cb6e8cfc64..9fd5d56335 100644 --- a/fpdfsdk/pwl/cpwl_wnd.h +++ b/fpdfsdk/pwl/cpwl_wnd.h @@ -126,8 +126,8 @@ class CPWL_Wnd : public CPWL_TimerHandler, public Observable<CPWL_Wnd> { ~CreateParams(); CFX_FloatRect rcRectWnd; // required - CFX_SystemHandler* pSystemHandler; // required - IPVT_FontMap* pFontMap; // required + UnownedPtr<CFX_SystemHandler> pSystemHandler; // required + UnownedPtr<IPVT_FontMap> pFontMap; // required ProviderIface::ObservedPtr pProvider; // required UnownedPtr<FocusHandlerIface> pFocusHandler; // optional uint32_t dwFlags; // optional @@ -141,7 +141,7 @@ class CPWL_Wnd : public CPWL_TimerHandler, public Observable<CPWL_Wnd> { float fFontSize; // optional CPWL_Dash sDash; // optional UnownedPtr<PrivateData> pAttachedData; // optional - CPWL_Wnd* pParentWnd; // ignore + UnownedPtr<CPWL_Wnd> pParentWnd; // ignore CPWL_MsgControl* pMsgControl; // ignore int32_t eCursorType; // ignore CFX_Matrix mtChild; // ignore @@ -230,8 +230,12 @@ class CPWL_Wnd : public CPWL_TimerHandler, public Observable<CPWL_Wnd> { void SetClipRect(const CFX_FloatRect& rect); const CFX_FloatRect& GetClipRect() const; - CPWL_Wnd* GetParentWindow() const; - PrivateData* GetAttachedData() const; + CPWL_Wnd* GetParentWindow() const { + return m_CreationParams.pParentWnd.Get(); + } + PrivateData* GetAttachedData() const { + return m_CreationParams.pAttachedData.Get(); + } bool WndHitTest(const CFX_PointF& point) const; bool ClientHitTest(const CFX_PointF& point) const; @@ -244,9 +248,13 @@ class CPWL_Wnd : public CPWL_TimerHandler, public Observable<CPWL_Wnd> { bool IsReadOnly() const; CPWL_ScrollBar* GetVScrollBar() const; - IPVT_FontMap* GetFontMap() const; - ProviderIface* GetProvider() const; - FocusHandlerIface* GetFocusHandler() const; + IPVT_FontMap* GetFontMap() const { return m_CreationParams.pFontMap.Get(); } + ProviderIface* GetProvider() const { + return m_CreationParams.pProvider.Get(); + } + FocusHandlerIface* GetFocusHandler() const { + return m_CreationParams.pFocusHandler.Get(); + } int32_t GetTransparency(); void SetTransparency(int32_t nTransparency); @@ -260,7 +268,7 @@ class CPWL_Wnd : public CPWL_TimerHandler, public Observable<CPWL_Wnd> { virtual void OnKillFocus(); protected: - // CPWL_TimerHandler + // CPWL_TimerHandler: CFX_SystemHandler* GetSystemHandler() const override; virtual void CreateChildWnd(const CreateParams& cp); @@ -285,7 +293,6 @@ class CPWL_Wnd : public CPWL_TimerHandler, public Observable<CPWL_Wnd> { bool IsWndCaptureMouse(const CPWL_Wnd* pWnd) const; bool IsWndCaptureKeyboard(const CPWL_Wnd* pWnd) const; - const CPWL_Wnd* GetRootWnd() const; static bool IsCTRLpressed(uint32_t nFlag) { return CPDFSDK_FormFillEnvironment::IsCTRLKeyDown(nFlag); |