Make enum type for FWL_SCROLLBAR_TYPE. Show that the only value we ever use is VSCROLL (enum class prevents games from integers without introducing casts). Change-Id: I92cde211f9209040cadfb103b8942c74062aae2a Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/79111 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/fpdfsdk/pwl/cpwl_scroll_bar.cpp b/fpdfsdk/pwl/cpwl_scroll_bar.cpp index fcd0979..e8fe0dc 100644 --- a/fpdfsdk/pwl/cpwl_scroll_bar.cpp +++ b/fpdfsdk/pwl/cpwl_scroll_bar.cpp
@@ -131,7 +131,7 @@ CFX_PointF ptCenter = GetCenterPoint(); int32_t nTransparency = GetTransparency(); - if (m_eScrollBarType == SBT_HSCROLL) { + if (m_eScrollBarType == PWL_SCROLLBAR_TYPE::HSCROLL) { CPWL_Wnd::DrawThisAppearance(pDevice, mtUser2Device); CFX_PointF pt1; @@ -309,7 +309,7 @@ float fBWidth = 0; switch (m_sbType) { - case SBT_HSCROLL: + case PWL_SCROLLBAR_TYPE::HSCROLL: if (rcClient.right - rcClient.left > kButtonWidth * 2 + kPosButtonMinWidth + 2) { rcMinButton = CFX_FloatRect(rcClient.left, rcClient.bottom, @@ -331,7 +331,7 @@ } } break; - case SBT_VSCROLL: + case PWL_SCROLLBAR_TYPE::VSCROLL: if (IsFloatBigger(rcClient.top - rcClient.bottom, kButtonWidth * 2 + kPosButtonMinWidth + 2)) { rcMinButton = CFX_FloatRect(rcClient.left, rcClient.top - kButtonWidth, @@ -411,14 +411,14 @@ CFX_FloatRect rcPosButton = m_pPosButton->GetWindowRect(); switch (m_sbType) { - case SBT_HSCROLL: + case PWL_SCROLLBAR_TYPE::HSCROLL: rcMinArea = CFX_FloatRect(rcClient.left + kButtonWidth, rcClient.bottom, rcPosButton.left, rcClient.top); rcMaxArea = CFX_FloatRect(rcPosButton.right, rcClient.bottom, rcClient.right - kButtonWidth, rcClient.top); break; - case SBT_VSCROLL: + case PWL_SCROLLBAR_TYPE::VSCROLL: rcMinArea = CFX_FloatRect(rcClient.left, rcPosButton.top, rcClient.right, rcClient.top - kButtonWidth); rcMaxArea = CFX_FloatRect(rcClient.left, rcClient.bottom + kButtonWidth, @@ -476,10 +476,10 @@ void CPWL_ScrollBar::SetScrollPosition(float pos) { switch (m_sbType) { - case SBT_HSCROLL: + case PWL_SCROLLBAR_TYPE::HSCROLL: pos = pos - m_OriginInfo.fContentMin; break; - case SBT_VSCROLL: + case PWL_SCROLLBAR_TYPE::VSCROLL: pos = m_OriginInfo.fContentMax - pos; break; } @@ -609,7 +609,7 @@ float fLeft, fRight, fTop, fBottom; switch (m_sbType) { - case SBT_HSCROLL: + case PWL_SCROLLBAR_TYPE::HSCROLL: fLeft = TrueToFace(m_sData.fScrollPos); fRight = TrueToFace(m_sData.fScrollPos + m_sData.fClientWidth); @@ -625,7 +625,7 @@ CFX_FloatRect(fLeft, rcPosArea.bottom, fRight, rcPosArea.top); break; - case SBT_VSCROLL: + case PWL_SCROLLBAR_TYPE::VSCROLL: fBottom = TrueToFace(m_sData.fScrollPos + m_sData.fClientWidth); fTop = TrueToFace(m_sData.fScrollPos); @@ -687,11 +687,11 @@ CFX_FloatRect rcPosButton = m_pPosButton->GetWindowRect(); switch (m_sbType) { - case SBT_HSCROLL: + case PWL_SCROLLBAR_TYPE::HSCROLL: m_nOldPos = point.x; m_fOldPosButton = rcPosButton.left; break; - case SBT_VSCROLL: + case PWL_SCROLLBAR_TYPE::VSCROLL: m_nOldPos = point.y; m_fOldPosButton = rcPosButton.top; break; @@ -713,12 +713,12 @@ float fNewPos = 0; switch (m_sbType) { - case SBT_HSCROLL: + case PWL_SCROLLBAR_TYPE::HSCROLL: if (fabs(point.x - m_nOldPos) < 1) return; fNewPos = FaceToTrue(m_fOldPosButton + point.x - m_nOldPos); break; - case SBT_VSCROLL: + case PWL_SCROLLBAR_TYPE::VSCROLL: if (fabs(point.y - m_nOldPos) < 1) return; fNewPos = FaceToTrue(m_fOldPosButton + point.y - m_nOldPos); @@ -727,7 +727,7 @@ if (m_bMouseDown) { switch (m_sbType) { - case SBT_HSCROLL: + case PWL_SCROLLBAR_TYPE::HSCROLL: if (IsFloatSmaller(fNewPos, m_sData.ScrollRange.fMin)) { fNewPos = m_sData.ScrollRange.fMin; @@ -740,7 +740,7 @@ m_sData.SetPos(fNewPos); break; - case SBT_VSCROLL: + case PWL_SCROLLBAR_TYPE::VSCROLL: if (IsFloatSmaller(fNewPos, m_sData.ScrollRange.fMin)) { fNewPos = m_sData.ScrollRange.fMin; @@ -767,7 +767,7 @@ void CPWL_ScrollBar::NotifyScrollWindow() { CPWL_Wnd* pParent = GetParentWindow(); - if (!pParent || m_sbType != SBT_VSCROLL) + if (!pParent || m_sbType != PWL_SCROLLBAR_TYPE::VSCROLL) return; pParent->ScrollWindowVertically(m_OriginInfo.fContentMax - @@ -790,7 +790,7 @@ float fMaxHeight = rcMax.Height(); switch (m_sbType) { - case SBT_HSCROLL: + case PWL_SCROLLBAR_TYPE::HSCROLL: if (rcClient.right - rcClient.left > fMinWidth + fMaxWidth + 2) { rcArea = CFX_FloatRect(rcClient.left + fMinWidth + 1, rcClient.bottom, rcClient.right - fMaxWidth - 1, rcClient.top); @@ -799,7 +799,7 @@ rcClient.left + fMinWidth + 1, rcClient.top); } break; - case SBT_VSCROLL: + case PWL_SCROLLBAR_TYPE::VSCROLL: if (rcClient.top - rcClient.bottom > fMinHeight + fMaxHeight + 2) { rcArea = CFX_FloatRect(rcClient.left, rcClient.bottom + fMinHeight + 1, rcClient.right, rcClient.top - fMaxHeight - 1); @@ -826,11 +826,11 @@ float fFace = 0; switch (m_sbType) { - case SBT_HSCROLL: + case PWL_SCROLLBAR_TYPE::HSCROLL: fFace = rcPosArea.left + fTrue * (rcPosArea.right - rcPosArea.left) / fFactWidth; break; - case SBT_VSCROLL: + case PWL_SCROLLBAR_TYPE::VSCROLL: fFace = rcPosArea.top - fTrue * (rcPosArea.top - rcPosArea.bottom) / fFactWidth; break; @@ -849,11 +849,11 @@ float fTrue = 0; switch (m_sbType) { - case SBT_HSCROLL: + case PWL_SCROLLBAR_TYPE::HSCROLL: fTrue = (fFace - rcPosArea.left) * fFactWidth / (rcPosArea.right - rcPosArea.left); break; - case SBT_VSCROLL: + case PWL_SCROLLBAR_TYPE::VSCROLL: fTrue = (rcPosArea.top - fFace) * fFactWidth / (rcPosArea.top - rcPosArea.bottom); break;
diff --git a/fpdfsdk/pwl/cpwl_scroll_bar.h b/fpdfsdk/pwl/cpwl_scroll_bar.h index f04c12b..879646f 100644 --- a/fpdfsdk/pwl/cpwl_scroll_bar.h +++ b/fpdfsdk/pwl/cpwl_scroll_bar.h
@@ -38,7 +38,7 @@ float fSmallStep; }; -enum PWL_SCROLLBAR_TYPE { SBT_HSCROLL, SBT_VSCROLL }; +enum class PWL_SCROLLBAR_TYPE { HSCROLL, VSCROLL }; enum PWL_SBBUTTON_TYPE { PSBT_MIN, PSBT_MAX, PSBT_POS };
diff --git a/fpdfsdk/pwl/cpwl_wnd.cpp b/fpdfsdk/pwl/cpwl_wnd.cpp index 58095a9..8924349 100644 --- a/fpdfsdk/pwl/cpwl_wnd.cpp +++ b/fpdfsdk/pwl/cpwl_wnd.cpp
@@ -491,8 +491,8 @@ scp.eCursorType = FXCT_ARROW; scp.nTransparency = PWL_SCROLLBAR_TRANSPARENCY; - auto pBar = - std::make_unique<CPWL_ScrollBar>(scp, CloneAttachedData(), SBT_VSCROLL); + auto pBar = std::make_unique<CPWL_ScrollBar>(scp, CloneAttachedData(), + PWL_SCROLLBAR_TYPE::VSCROLL); m_pVScrollBar = pBar.get(); AddChild(std::move(pBar)); m_pVScrollBar->Realize();