summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fpdfsdk/pwl/cpwl_wnd.cpp34
-rw-r--r--fpdfsdk/pwl/cpwl_wnd.h27
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);