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();