Fold virtual CPWL_Wnd::OnCreate into subclass constructors.
All they do is twiddle their own CreateParameters. Since we
now have the create paramters earlier, we need not have a
special method for this.
Change-Id: I5b94c578275c71516afb87bd085f5fb58b3962e2
Reviewed-on: https://pdfium-review.googlesource.com/c/44730
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/fpdfsdk/pwl/cpwl_button.cpp b/fpdfsdk/pwl/cpwl_button.cpp
index 9f746cf..cf0f348 100644
--- a/fpdfsdk/pwl/cpwl_button.cpp
+++ b/fpdfsdk/pwl/cpwl_button.cpp
@@ -12,14 +12,12 @@
CPWL_Button::CPWL_Button(const CreateParams& cp,
std::unique_ptr<PrivateData> pAttachedData)
- : CPWL_Wnd(cp, std::move(pAttachedData)) {}
+ : CPWL_Wnd(cp, std::move(pAttachedData)) {
+ GetCreationParams()->eCursorType = FXCT_HAND;
+}
CPWL_Button::~CPWL_Button() = default;
-void CPWL_Button::OnCreate(CreateParams* pParamsToAdjust) {
- pParamsToAdjust->eCursorType = FXCT_HAND;
-}
-
bool CPWL_Button::OnLButtonDown(const CFX_PointF& point, uint32_t nFlag) {
CPWL_Wnd::OnLButtonDown(point, nFlag);
m_bMouseDown = true;
diff --git a/fpdfsdk/pwl/cpwl_button.h b/fpdfsdk/pwl/cpwl_button.h
index 5835b7a..6d4aec6 100644
--- a/fpdfsdk/pwl/cpwl_button.h
+++ b/fpdfsdk/pwl/cpwl_button.h
@@ -18,7 +18,6 @@
~CPWL_Button() override;
// CPWL_Wnd
- void OnCreate(CreateParams* pParamsToAdjust) override;
bool OnLButtonDown(const CFX_PointF& point, uint32_t nFlag) override;
bool OnLButtonUp(const CFX_PointF& point, uint32_t nFlag) override;
diff --git a/fpdfsdk/pwl/cpwl_combo_box.cpp b/fpdfsdk/pwl/cpwl_combo_box.cpp
index eef4496..eefe017 100644
--- a/fpdfsdk/pwl/cpwl_combo_box.cpp
+++ b/fpdfsdk/pwl/cpwl_combo_box.cpp
@@ -160,15 +160,13 @@
CPWL_ComboBox::CPWL_ComboBox(const CreateParams& cp,
std::unique_ptr<PrivateData> pAttachedData)
- : CPWL_Wnd(cp, std::move(pAttachedData)) {}
+ : CPWL_Wnd(cp, std::move(pAttachedData)) {
+ GetCreationParams()->dwFlags &= ~PWS_HSCROLL;
+ GetCreationParams()->dwFlags &= ~PWS_VSCROLL;
+}
CPWL_ComboBox::~CPWL_ComboBox() = default;
-void CPWL_ComboBox::OnCreate(CreateParams* pParamsToAdjust) {
- pParamsToAdjust->dwFlags &= ~PWS_HSCROLL;
- pParamsToAdjust->dwFlags &= ~PWS_VSCROLL;
-}
-
void CPWL_ComboBox::OnDestroy() {
// Until cleanup takes place in the virtual destructor for CPWL_Wnd
// subclasses, implement the virtual OnDestroy method that does the
diff --git a/fpdfsdk/pwl/cpwl_combo_box.h b/fpdfsdk/pwl/cpwl_combo_box.h
index ee6ed90..c059b5c 100644
--- a/fpdfsdk/pwl/cpwl_combo_box.h
+++ b/fpdfsdk/pwl/cpwl_combo_box.h
@@ -51,7 +51,6 @@
CPWL_Edit* GetEdit() const { return m_pEdit.Get(); }
// CPWL_Wnd:
- void OnCreate(CreateParams* pParamsToAdjust) override;
void OnDestroy() override;
bool OnKeyDown(uint16_t nChar, uint32_t nFlag) override;
bool OnChar(uint16_t nChar, uint32_t nFlag) override;
diff --git a/fpdfsdk/pwl/cpwl_edit_ctrl.cpp b/fpdfsdk/pwl/cpwl_edit_ctrl.cpp
index 1b398a6..af74213 100644
--- a/fpdfsdk/pwl/cpwl_edit_ctrl.cpp
+++ b/fpdfsdk/pwl/cpwl_edit_ctrl.cpp
@@ -21,16 +21,15 @@
CPWL_EditCtrl::CPWL_EditCtrl(const CreateParams& cp,
std::unique_ptr<PrivateData> pAttachedData)
: CPWL_Wnd(cp, std::move(pAttachedData)),
- m_pEdit(pdfium::MakeUnique<CPWL_EditImpl>()) {}
+ m_pEdit(pdfium::MakeUnique<CPWL_EditImpl>()) {
+ GetCreationParams()->eCursorType = FXCT_VBEAM;
+}
CPWL_EditCtrl::~CPWL_EditCtrl() = default;
-void CPWL_EditCtrl::OnCreate(CreateParams* pParamsToAdjust) {
- pParamsToAdjust->eCursorType = FXCT_VBEAM;
-}
void CPWL_EditCtrl::OnCreated() {
- SetFontSize(GetCreationParams().fFontSize);
+ SetFontSize(GetCreationParams()->fFontSize);
m_pEdit->SetFontMap(GetFontMap());
m_pEdit->SetNotify(this);
m_pEdit->Initialize();
diff --git a/fpdfsdk/pwl/cpwl_edit_ctrl.h b/fpdfsdk/pwl/cpwl_edit_ctrl.h
index cb89943..aeeb7f6 100644
--- a/fpdfsdk/pwl/cpwl_edit_ctrl.h
+++ b/fpdfsdk/pwl/cpwl_edit_ctrl.h
@@ -46,7 +46,6 @@
void SetReadyToInput();
// CPWL_Wnd:
- void OnCreate(CreateParams* pParamsToAdjust) override;
void OnCreated() override;
bool OnKeyDown(uint16_t nChar, uint32_t nFlag) override;
bool OnChar(uint16_t nChar, uint32_t nFlag) override;
diff --git a/fpdfsdk/pwl/cpwl_list_box.cpp b/fpdfsdk/pwl/cpwl_list_box.cpp
index 003fe11..827742b 100644
--- a/fpdfsdk/pwl/cpwl_list_box.cpp
+++ b/fpdfsdk/pwl/cpwl_list_box.cpp
@@ -79,7 +79,7 @@
SetHoverSel(HasFlag(PLBS_HOVERSEL));
m_pList->SetMultipleSel(HasFlag(PLBS_MULTIPLESEL));
- m_pList->SetFontSize(GetCreationParams().fFontSize);
+ m_pList->SetFontSize(GetCreationParams()->fFontSize);
m_bHoverSel = HasFlag(PLBS_HOVERSEL);
}
diff --git a/fpdfsdk/pwl/cpwl_scroll_bar.cpp b/fpdfsdk/pwl/cpwl_scroll_bar.cpp
index 0209ba0..d3c8e84 100644
--- a/fpdfsdk/pwl/cpwl_scroll_bar.cpp
+++ b/fpdfsdk/pwl/cpwl_scroll_bar.cpp
@@ -111,14 +111,12 @@
PWL_SBBUTTON_TYPE eButtonType)
: CPWL_Wnd(cp, std::move(pAttachedData)),
m_eScrollBarType(eScrollBarType),
- m_eSBButtonType(eButtonType) {}
+ m_eSBButtonType(eButtonType) {
+ GetCreationParams()->eCursorType = FXCT_ARROW;
+}
CPWL_SBButton::~CPWL_SBButton() = default;
-void CPWL_SBButton::OnCreate(CreateParams* pParamsToAdjust) {
- pParamsToAdjust->eCursorType = FXCT_ARROW;
-}
-
void CPWL_SBButton::DrawThisAppearance(CFX_RenderDevice* pDevice,
const CFX_Matrix& mtUser2Device) {
if (!IsVisible())
@@ -302,14 +300,12 @@
CPWL_ScrollBar::CPWL_ScrollBar(const CreateParams& cp,
std::unique_ptr<PrivateData> pAttachedData,
PWL_SCROLLBAR_TYPE sbType)
- : CPWL_Wnd(cp, std::move(pAttachedData)), m_sbType(sbType) {}
+ : CPWL_Wnd(cp, std::move(pAttachedData)), m_sbType(sbType) {
+ GetCreationParams()->eCursorType = FXCT_ARROW;
+}
CPWL_ScrollBar::~CPWL_ScrollBar() = default;
-void CPWL_ScrollBar::OnCreate(CreateParams* pParamsToAdjust) {
- pParamsToAdjust->eCursorType = FXCT_ARROW;
-}
-
void CPWL_ScrollBar::OnDestroy() {
// Until cleanup takes place in the virtual destructor for CPWL_Wnd
// subclasses, implement the virtual OnDestroy method that does the
diff --git a/fpdfsdk/pwl/cpwl_scroll_bar.h b/fpdfsdk/pwl/cpwl_scroll_bar.h
index 82c995b..414f718 100644
--- a/fpdfsdk/pwl/cpwl_scroll_bar.h
+++ b/fpdfsdk/pwl/cpwl_scroll_bar.h
@@ -50,7 +50,6 @@
~CPWL_SBButton() override;
// CPWL_Wnd
- void OnCreate(CreateParams* pParamsToAdjust) override;
void DrawThisAppearance(CFX_RenderDevice* pDevice,
const CFX_Matrix& mtUser2Device) override;
bool OnLButtonDown(const CFX_PointF& point, uint32_t nFlag) override;
@@ -121,7 +120,6 @@
~CPWL_ScrollBar() override;
// CPWL_Wnd:
- void OnCreate(CreateParams* pParamsToAdjust) override;
void OnDestroy() override;
bool RePosChildWnd() override;
void DrawThisAppearance(CFX_RenderDevice* pDevice,
diff --git a/fpdfsdk/pwl/cpwl_wnd.cpp b/fpdfsdk/pwl/cpwl_wnd.cpp
index 90aa15c..66b069d 100644
--- a/fpdfsdk/pwl/cpwl_wnd.cpp
+++ b/fpdfsdk/pwl/cpwl_wnd.cpp
@@ -122,7 +122,6 @@
void CPWL_Wnd::Realize() {
ASSERT(!m_bCreated);
- OnCreate(&m_CreationParams);
m_CreationParams.rcRectWnd.Normalize();
m_rcWindow = m_CreationParams.rcRectWnd;
m_rcClip = m_rcWindow;
@@ -144,8 +143,6 @@
m_bCreated = true;
}
-void CPWL_Wnd::OnCreate(CreateParams* pParamsToAdjust) {}
-
void CPWL_Wnd::OnCreated() {}
void CPWL_Wnd::OnDestroy() {}
@@ -604,10 +601,8 @@
void CPWL_Wnd::SetCursor() {
if (IsValid()) {
- if (CFX_SystemHandler* pSH = GetSystemHandler()) {
- int32_t nCursorType = GetCreationParams().eCursorType;
- pSH->SetCursor(nCursorType);
- }
+ if (CFX_SystemHandler* pSH = GetSystemHandler())
+ pSH->SetCursor(GetCreationParams()->eCursorType);
}
}
diff --git a/fpdfsdk/pwl/cpwl_wnd.h b/fpdfsdk/pwl/cpwl_wnd.h
index 64fe131..339c336 100644
--- a/fpdfsdk/pwl/cpwl_wnd.h
+++ b/fpdfsdk/pwl/cpwl_wnd.h
@@ -260,13 +260,12 @@
virtual void DrawThisAppearance(CFX_RenderDevice* pDevice,
const CFX_Matrix& mtUser2Device);
- virtual void OnCreate(CreateParams* pParamsToAdjust);
virtual void OnCreated();
virtual void OnDestroy();
bool IsNotifying() const { return m_bNotifying; }
bool IsValid() const { return m_bCreated; }
- const CreateParams& GetCreationParams() const { return m_CreationParams; }
+ CreateParams* GetCreationParams() { return &m_CreationParams; }
// Returns |true| iff this instance is still allocated.
bool InvalidateRectMove(const CFX_FloatRect& rcOld,