diff options
Diffstat (limited to 'fpdfsdk/pwl/cpwl_scroll_bar.cpp')
-rw-r--r-- | fpdfsdk/pwl/cpwl_scroll_bar.cpp | 41 |
1 files changed, 16 insertions, 25 deletions
diff --git a/fpdfsdk/pwl/cpwl_scroll_bar.cpp b/fpdfsdk/pwl/cpwl_scroll_bar.cpp index ced049a175..4051d7be51 100644 --- a/fpdfsdk/pwl/cpwl_scroll_bar.cpp +++ b/fpdfsdk/pwl/cpwl_scroll_bar.cpp @@ -105,15 +105,14 @@ void PWL_SCROLL_PRIVATEDATA::SubBig() { SetPos(ScrollRange.fMin); } -CPWL_SBButton::CPWL_SBButton(PWL_SCROLLBAR_TYPE eScrollBarType, - PWL_SBBUTTON_TYPE eButtonType) { - m_eScrollBarType = eScrollBarType; - m_eSBButtonType = eButtonType; +CPWL_SBButton::CPWL_SBButton(std::unique_ptr<PrivateData> pAttachedData, + PWL_SCROLLBAR_TYPE eScrollBarType, + PWL_SBBUTTON_TYPE eButtonType) + : CPWL_Wnd(std::move(pAttachedData)), + m_eScrollBarType(eScrollBarType), + m_eSBButtonType(eButtonType) {} - m_bMouseDown = false; -} - -CPWL_SBButton::~CPWL_SBButton() {} +CPWL_SBButton::~CPWL_SBButton() = default; void CPWL_SBButton::OnCreate(CreateParams* pParamsToAdjust) { pParamsToAdjust->eCursorType = FXCT_ARROW; @@ -299,16 +298,11 @@ bool CPWL_SBButton::OnMouseMove(const CFX_PointF& point, uint32_t nFlag) { return true; } -CPWL_ScrollBar::CPWL_ScrollBar(PWL_SCROLLBAR_TYPE sbType) - : m_sbType(sbType), - m_pMinButton(nullptr), - m_pMaxButton(nullptr), - m_pPosButton(nullptr), - m_bMouseDown(false), - m_bMinOrMax(false), - m_bNotifyForever(true) {} +CPWL_ScrollBar::CPWL_ScrollBar(std::unique_ptr<PrivateData> pAttachedData, + PWL_SCROLLBAR_TYPE sbType) + : CPWL_Wnd(std::move(pAttachedData)), m_sbType(sbType) {} -CPWL_ScrollBar::~CPWL_ScrollBar() {} +CPWL_ScrollBar::~CPWL_ScrollBar() = default; void CPWL_ScrollBar::OnCreate(CreateParams* pParamsToAdjust) { pParamsToAdjust->eCursorType = FXCT_ARROW; @@ -544,27 +538,24 @@ void CPWL_ScrollBar::CreateButtons(const CreateParams& cp) { scp.pParentWnd = this; scp.dwBorderWidth = 2; scp.nBorderStyle = BorderStyle::BEVELED; - scp.dwFlags = PWS_VISIBLE | PWS_CHILD | PWS_BORDER | PWS_BACKGROUND | PWS_NOREFRESHCLIP; if (!m_pMinButton) { - m_pMinButton = new CPWL_SBButton(m_sbType, PSBT_MIN); + m_pMinButton = new CPWL_SBButton(CloneAttachedData(), m_sbType, PSBT_MIN); m_pMinButton->Create(scp); } if (!m_pMaxButton) { - m_pMaxButton = new CPWL_SBButton(m_sbType, PSBT_MAX); + m_pMaxButton = new CPWL_SBButton(CloneAttachedData(), m_sbType, PSBT_MAX); m_pMaxButton->Create(scp); } if (!m_pPosButton) { - m_pPosButton = new CPWL_SBButton(m_sbType, PSBT_POS); - + m_pPosButton = new CPWL_SBButton(CloneAttachedData(), m_sbType, PSBT_POS); ObservedPtr thisObserved(this); - if (!m_pPosButton->SetVisible(false) || !thisObserved) - return; - m_pPosButton->Create(scp); + if (m_pPosButton->SetVisible(false) && thisObserved) + m_pPosButton->Create(scp); } } |