Nest FXPT_TYPE as CFX_Path::Point::Type.

Also rename the enum values to kFoo.

Bug: pdfium:547
Change-Id: I77d1c983cc87c8ab08e1346471508f0b6bacc740
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/81773
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp b/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp
index 125d381..e288828 100644
--- a/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp
+++ b/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp
@@ -347,16 +347,16 @@
 
     *buf << points[i].m_Point;
 
-    FXPT_TYPE point_type = points[i].m_Type;
-    if (point_type == FXPT_TYPE::MoveTo) {
+    CFX_Path::Point::Type point_type = points[i].m_Type;
+    if (point_type == CFX_Path::Point::Type::kMove) {
       *buf << " m";
-    } else if (point_type == FXPT_TYPE::LineTo) {
+    } else if (point_type == CFX_Path::Point::Type::kLine) {
       *buf << " l";
-    } else if (point_type == FXPT_TYPE::BezierTo) {
+    } else if (point_type == CFX_Path::Point::Type::kBezier) {
       if (i + 2 >= points.size() ||
-          !points[i].IsTypeAndOpen(FXPT_TYPE::BezierTo) ||
-          !points[i + 1].IsTypeAndOpen(FXPT_TYPE::BezierTo) ||
-          points[i + 2].m_Type != FXPT_TYPE::BezierTo) {
+          !points[i].IsTypeAndOpen(CFX_Path::Point::Type::kBezier) ||
+          !points[i + 1].IsTypeAndOpen(CFX_Path::Point::Type::kBezier) ||
+          points[i + 2].m_Type != CFX_Path::Point::Type::kBezier) {
         // If format is not supported, close the path and paint
         *buf << " h";
         break;
diff --git a/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp b/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp
index 844ff89..041384f 100644
--- a/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp
+++ b/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp
@@ -68,10 +68,13 @@
   EXPECT_EQ("q 1 0 0 1 0 0 cm 10 5 3 25 re B* Q\n", ByteString(buf));
 
   pPathObj = std::make_unique<CPDF_PathObject>();
-  pPathObj->path().AppendPoint(CFX_PointF(0, 0), FXPT_TYPE::MoveTo);
-  pPathObj->path().AppendPoint(CFX_PointF(5.2f, 0), FXPT_TYPE::LineTo);
-  pPathObj->path().AppendPoint(CFX_PointF(5.2f, 3.78f), FXPT_TYPE::LineTo);
-  pPathObj->path().AppendPointAndClose(CFX_PointF(0, 3.78f), FXPT_TYPE::LineTo);
+  pPathObj->path().AppendPoint(CFX_PointF(0, 0), CFX_Path::Point::Type::kMove);
+  pPathObj->path().AppendPoint(CFX_PointF(5.2f, 0),
+                               CFX_Path::Point::Type::kLine);
+  pPathObj->path().AppendPoint(CFX_PointF(5.2f, 3.78f),
+                               CFX_Path::Point::Type::kLine);
+  pPathObj->path().AppendPointAndClose(CFX_PointF(0, 3.78f),
+                                       CFX_Path::Point::Type::kLine);
   buf.str("");
   TestProcessPath(&generator, &buf, pPathObj.get());
   EXPECT_EQ("q 1 0 0 1 0 0 cm 0 0 5.1999998 3.78 re n Q\n", ByteString(buf));
@@ -118,16 +121,17 @@
 
     pPathObj->set_filltype(CFX_FillRenderOptions::FillType::kWinding);
     pPathObj->path().AppendPoint(CFX_PointF(0.000000000000000000001f, 4.67f),
-                                 FXPT_TYPE::MoveTo);
+                                 CFX_Path::Point::Type::kMove);
     pPathObj->path().AppendPoint(
         CFX_PointF(0.000000000000000000001, 100000000000000.000002),
-        FXPT_TYPE::LineTo);
+        CFX_Path::Point::Type::kLine);
     pPathObj->path().AppendPoint(CFX_PointF(0.0000000000001f, 3.15f),
-                                 FXPT_TYPE::BezierTo);
-    pPathObj->path().AppendPoint(CFX_PointF(3.57f, 2.98f), FXPT_TYPE::BezierTo);
+                                 CFX_Path::Point::Type::kBezier);
+    pPathObj->path().AppendPoint(CFX_PointF(3.57f, 2.98f),
+                                 CFX_Path::Point::Type::kBezier);
     pPathObj->path().AppendPointAndClose(
         CFX_PointF(53.4f, 5000000000000000000.00000000000000004),
-        FXPT_TYPE::BezierTo);
+        CFX_Path::Point::Type::kBezier);
     auto dummy_page_dict = pdfium::MakeRetain<CPDF_Dictionary>();
     auto pTestPage =
         pdfium::MakeRetain<CPDF_Page>(nullptr, dummy_page_dict.Get());
@@ -147,17 +151,26 @@
 TEST_F(CPDF_PageContentGeneratorTest, ProcessPath) {
   auto pPathObj = std::make_unique<CPDF_PathObject>();
   pPathObj->set_filltype(CFX_FillRenderOptions::FillType::kWinding);
-  pPathObj->path().AppendPoint(CFX_PointF(3.102f, 4.67f), FXPT_TYPE::MoveTo);
-  pPathObj->path().AppendPoint(CFX_PointF(5.45f, 0.29f), FXPT_TYPE::LineTo);
-  pPathObj->path().AppendPoint(CFX_PointF(4.24f, 3.15f), FXPT_TYPE::BezierTo);
-  pPathObj->path().AppendPoint(CFX_PointF(4.65f, 2.98f), FXPT_TYPE::BezierTo);
-  pPathObj->path().AppendPoint(CFX_PointF(3.456f, 0.24f), FXPT_TYPE::BezierTo);
-  pPathObj->path().AppendPoint(CFX_PointF(10.6f, 11.15f), FXPT_TYPE::LineTo);
-  pPathObj->path().AppendPoint(CFX_PointF(11, 12.5f), FXPT_TYPE::LineTo);
-  pPathObj->path().AppendPoint(CFX_PointF(11.46f, 12.67f), FXPT_TYPE::BezierTo);
-  pPathObj->path().AppendPoint(CFX_PointF(11.84f, 12.96f), FXPT_TYPE::BezierTo);
+  pPathObj->path().AppendPoint(CFX_PointF(3.102f, 4.67f),
+                               CFX_Path::Point::Type::kMove);
+  pPathObj->path().AppendPoint(CFX_PointF(5.45f, 0.29f),
+                               CFX_Path::Point::Type::kLine);
+  pPathObj->path().AppendPoint(CFX_PointF(4.24f, 3.15f),
+                               CFX_Path::Point::Type::kBezier);
+  pPathObj->path().AppendPoint(CFX_PointF(4.65f, 2.98f),
+                               CFX_Path::Point::Type::kBezier);
+  pPathObj->path().AppendPoint(CFX_PointF(3.456f, 0.24f),
+                               CFX_Path::Point::Type::kBezier);
+  pPathObj->path().AppendPoint(CFX_PointF(10.6f, 11.15f),
+                               CFX_Path::Point::Type::kLine);
+  pPathObj->path().AppendPoint(CFX_PointF(11, 12.5f),
+                               CFX_Path::Point::Type::kLine);
+  pPathObj->path().AppendPoint(CFX_PointF(11.46f, 12.67f),
+                               CFX_Path::Point::Type::kBezier);
+  pPathObj->path().AppendPoint(CFX_PointF(11.84f, 12.96f),
+                               CFX_Path::Point::Type::kBezier);
   pPathObj->path().AppendPointAndClose(CFX_PointF(12, 13.64f),
-                                       FXPT_TYPE::BezierTo);
+                                       CFX_Path::Point::Type::kBezier);
 
   auto dummy_page_dict = pdfium::MakeRetain<CPDF_Dictionary>();
   auto pTestPage =
@@ -177,9 +190,10 @@
   auto pPathObj = std::make_unique<CPDF_PathObject>();
   pPathObj->set_stroke(true);
   pPathObj->set_filltype(CFX_FillRenderOptions::FillType::kWinding);
-  pPathObj->path().AppendPoint(CFX_PointF(1, 2), FXPT_TYPE::MoveTo);
-  pPathObj->path().AppendPoint(CFX_PointF(3, 4), FXPT_TYPE::LineTo);
-  pPathObj->path().AppendPointAndClose(CFX_PointF(5, 6), FXPT_TYPE::LineTo);
+  pPathObj->path().AppendPoint(CFX_PointF(1, 2), CFX_Path::Point::Type::kMove);
+  pPathObj->path().AppendPoint(CFX_PointF(3, 4), CFX_Path::Point::Type::kLine);
+  pPathObj->path().AppendPointAndClose(CFX_PointF(5, 6),
+                                       CFX_Path::Point::Type::kLine);
 
   static const std::vector<float> rgb = {0.5f, 0.7f, 0.35f};
   RetainPtr<CPDF_ColorSpace> pCS =
@@ -338,10 +352,10 @@
 
     // Add a clipping path.
     auto pPath = std::make_unique<CPDF_Path>();
-    pPath->AppendPoint(CFX_PointF(0, 0), FXPT_TYPE::MoveTo);
-    pPath->AppendPoint(CFX_PointF(5, 0), FXPT_TYPE::LineTo);
-    pPath->AppendPoint(CFX_PointF(5, 4), FXPT_TYPE::LineTo);
-    pPath->AppendPointAndClose(CFX_PointF(0, 4), FXPT_TYPE::LineTo);
+    pPath->AppendPoint(CFX_PointF(0, 0), CFX_Path::Point::Type::kMove);
+    pPath->AppendPoint(CFX_PointF(5, 0), CFX_Path::Point::Type::kLine);
+    pPath->AppendPoint(CFX_PointF(5, 4), CFX_Path::Point::Type::kLine);
+    pPath->AppendPointAndClose(CFX_PointF(0, 4), CFX_Path::Point::Type::kLine);
     pTextObj->m_ClipPath.Emplace();
     pTextObj->m_ClipPath.AppendPath(*pPath,
                                     CFX_FillRenderOptions::FillType::kEvenOdd);
diff --git a/core/fpdfapi/page/cpdf_path.cpp b/core/fpdfapi/page/cpdf_path.cpp
index 86fb106..9dd2077 100644
--- a/core/fpdfapi/page/cpdf_path.cpp
+++ b/core/fpdfapi/page/cpdf_path.cpp
@@ -54,13 +54,15 @@
   m_Ref.GetPrivateCopy()->AppendRect(left, bottom, right, top);
 }
 
-void CPDF_Path::AppendPoint(const CFX_PointF& point, FXPT_TYPE type) {
+void CPDF_Path::AppendPoint(const CFX_PointF& point,
+                            CFX_Path::Point::Type type) {
   CFX_Path data;
   data.AppendPoint(point, type);
   Append(data, nullptr);
 }
 
-void CPDF_Path::AppendPointAndClose(const CFX_PointF& point, FXPT_TYPE type) {
+void CPDF_Path::AppendPointAndClose(const CFX_PointF& point,
+                                    CFX_Path::Point::Type type) {
   CFX_Path data;
   data.AppendPointAndClose(point, type);
   Append(data, nullptr);
diff --git a/core/fpdfapi/page/cpdf_path.h b/core/fpdfapi/page/cpdf_path.h
index 57ac3f1..774319e 100644
--- a/core/fpdfapi/page/cpdf_path.h
+++ b/core/fpdfapi/page/cpdf_path.h
@@ -36,8 +36,8 @@
   void Append(const CFX_Path& path, const CFX_Matrix* pMatrix);
   void AppendFloatRect(const CFX_FloatRect& rect);
   void AppendRect(float left, float bottom, float right, float top);
-  void AppendPoint(const CFX_PointF& point, FXPT_TYPE type);
-  void AppendPointAndClose(const CFX_PointF& point, FXPT_TYPE type);
+  void AppendPoint(const CFX_PointF& point, CFX_Path::Point::Type type);
+  void AppendPointAndClose(const CFX_PointF& point, CFX_Path::Point::Type type);
 
   // TODO(tsepez): Remove when all access thru this class.
   const CFX_Path* GetObject() const { return m_Ref.GetObject(); }
diff --git a/core/fpdfapi/page/cpdf_streamcontentparser.cpp b/core/fpdfapi/page/cpdf_streamcontentparser.cpp
index 9b9a06f..633dee6 100644
--- a/core/fpdfapi/page/cpdf_streamcontentparser.cpp
+++ b/core/fpdfapi/page/cpdf_streamcontentparser.cpp
@@ -560,7 +560,7 @@
 }
 
 void CPDF_StreamContentParser::Handle_CloseEOFillStrokePath() {
-  AddPathPoint(m_PathStartX, m_PathStartY, FXPT_TYPE::LineTo, true);
+  AddPathPoint(m_PathStartX, m_PathStartY, CFX_Path::Point::Type::kLine, true);
   AddPathObject(CFX_FillRenderOptions::FillType::kEvenOdd, true);
 }
 
@@ -667,9 +667,12 @@
 }
 
 void CPDF_StreamContentParser::Handle_CurveTo_123() {
-  AddPathPoint(GetNumber(5), GetNumber(4), FXPT_TYPE::BezierTo, false);
-  AddPathPoint(GetNumber(3), GetNumber(2), FXPT_TYPE::BezierTo, false);
-  AddPathPoint(GetNumber(1), GetNumber(0), FXPT_TYPE::BezierTo, false);
+  AddPathPoint(GetNumber(5), GetNumber(4), CFX_Path::Point::Type::kBezier,
+               false);
+  AddPathPoint(GetNumber(3), GetNumber(2), CFX_Path::Point::Type::kBezier,
+               false);
+  AddPathPoint(GetNumber(1), GetNumber(0), CFX_Path::Point::Type::kBezier,
+               false);
 }
 
 void CPDF_StreamContentParser::Handle_ConcatMatrix() {
@@ -900,8 +903,9 @@
     return;
 
   if (m_PathStartX != m_PathCurrentX || m_PathStartY != m_PathCurrentY)
-    AddPathPoint(m_PathStartX, m_PathStartY, FXPT_TYPE::LineTo, true);
-  else if (m_PathPoints.back().m_Type != FXPT_TYPE::MoveTo)
+    AddPathPoint(m_PathStartX, m_PathStartY, CFX_Path::Point::Type::kLine,
+                 true);
+  else if (m_PathPoints.back().m_Type != CFX_Path::Point::Type::kMove)
     m_PathPoints.back().m_CloseFigure = true;
 }
 
@@ -943,14 +947,14 @@
   if (m_ParamCount != 2)
     return;
 
-  AddPathPoint(GetNumber(1), GetNumber(0), FXPT_TYPE::LineTo, false);
+  AddPathPoint(GetNumber(1), GetNumber(0), CFX_Path::Point::Type::kLine, false);
 }
 
 void CPDF_StreamContentParser::Handle_MoveTo() {
   if (m_ParamCount != 2)
     return;
 
-  AddPathPoint(GetNumber(1), GetNumber(0), FXPT_TYPE::MoveTo, false);
+  AddPathPoint(GetNumber(1), GetNumber(0), CFX_Path::Point::Type::kMove, false);
   ParsePathObject();
 }
 
@@ -985,11 +989,11 @@
 }
 
 void CPDF_StreamContentParser::AddPathRect(float x, float y, float w, float h) {
-  AddPathPoint(x, y, FXPT_TYPE::MoveTo, false);
-  AddPathPoint(x + w, y, FXPT_TYPE::LineTo, false);
-  AddPathPoint(x + w, y + h, FXPT_TYPE::LineTo, false);
-  AddPathPoint(x, y + h, FXPT_TYPE::LineTo, false);
-  AddPathPoint(x, y, FXPT_TYPE::LineTo, true);
+  AddPathPoint(x, y, CFX_Path::Point::Type::kMove, false);
+  AddPathPoint(x + w, y, CFX_Path::Point::Type::kLine, false);
+  AddPathPoint(x + w, y + h, CFX_Path::Point::Type::kLine, false);
+  AddPathPoint(x, y + h, CFX_Path::Point::Type::kLine, false);
+  AddPathPoint(x, y, CFX_Path::Point::Type::kLine, true);
 }
 
 void CPDF_StreamContentParser::Handle_SetRGBColor_Fill() {
@@ -1376,9 +1380,12 @@
 }
 
 void CPDF_StreamContentParser::Handle_CurveTo_23() {
-  AddPathPoint(m_PathCurrentX, m_PathCurrentY, FXPT_TYPE::BezierTo, false);
-  AddPathPoint(GetNumber(3), GetNumber(2), FXPT_TYPE::BezierTo, false);
-  AddPathPoint(GetNumber(1), GetNumber(0), FXPT_TYPE::BezierTo, false);
+  AddPathPoint(m_PathCurrentX, m_PathCurrentY, CFX_Path::Point::Type::kBezier,
+               false);
+  AddPathPoint(GetNumber(3), GetNumber(2), CFX_Path::Point::Type::kBezier,
+               false);
+  AddPathPoint(GetNumber(1), GetNumber(0), CFX_Path::Point::Type::kBezier,
+               false);
 }
 
 void CPDF_StreamContentParser::Handle_SetLineWidth() {
@@ -1394,9 +1401,12 @@
 }
 
 void CPDF_StreamContentParser::Handle_CurveTo_13() {
-  AddPathPoint(GetNumber(3), GetNumber(2), FXPT_TYPE::BezierTo, false);
-  AddPathPoint(GetNumber(1), GetNumber(0), FXPT_TYPE::BezierTo, false);
-  AddPathPoint(GetNumber(1), GetNumber(0), FXPT_TYPE::BezierTo, false);
+  AddPathPoint(GetNumber(3), GetNumber(2), CFX_Path::Point::Type::kBezier,
+               false);
+  AddPathPoint(GetNumber(1), GetNumber(0), CFX_Path::Point::Type::kBezier,
+               false);
+  AddPathPoint(GetNumber(1), GetNumber(0), CFX_Path::Point::Type::kBezier,
+               false);
 }
 
 void CPDF_StreamContentParser::Handle_NextLineShowText() {
@@ -1414,11 +1424,11 @@
 
 void CPDF_StreamContentParser::AddPathPoint(float x,
                                             float y,
-                                            FXPT_TYPE type,
+                                            CFX_Path::Point::Type type,
                                             bool close) {
   // If the path point is the same move as the previous one and neither of them
   // closes the path, then just skip it.
-  if (!close && type == FXPT_TYPE::MoveTo && !m_PathPoints.empty() &&
+  if (!close && type == CFX_Path::Point::Type::kMove && !m_PathPoints.empty() &&
       !m_PathPoints.back().m_CloseFigure &&
       m_PathPoints.back().m_Type == type && m_PathCurrentX == x &&
       m_PathCurrentY == y) {
@@ -1427,11 +1437,11 @@
 
   m_PathCurrentX = x;
   m_PathCurrentY = y;
-  if (type == FXPT_TYPE::MoveTo && !close) {
+  if (type == CFX_Path::Point::Type::kMove && !close) {
     m_PathStartX = x;
     m_PathStartY = y;
     if (!m_PathPoints.empty() &&
-        m_PathPoints.back().IsTypeAndOpen(FXPT_TYPE::MoveTo)) {
+        m_PathPoints.back().IsTypeAndOpen(CFX_Path::Point::Type::kMove)) {
       m_PathPoints.back().m_Point = CFX_PointF(x, y);
       return;
     }
@@ -1462,7 +1472,7 @@
     return;
   }
 
-  if (path_points.back().IsTypeAndOpen(FXPT_TYPE::MoveTo))
+  if (path_points.back().IsTypeAndOpen(CFX_Path::Point::Type::kMove))
     path_points.pop_back();
 
   CPDF_Path path;
@@ -1559,30 +1569,40 @@
         if (len == 1) {
           switch (strc[0]) {
             case kPathOperatorSubpath:
-              AddPathPoint(params[0], params[1], FXPT_TYPE::MoveTo, false);
+              AddPathPoint(params[0], params[1], CFX_Path::Point::Type::kMove,
+                           false);
               nParams = 0;
               break;
             case kPathOperatorLine:
-              AddPathPoint(params[0], params[1], FXPT_TYPE::LineTo, false);
+              AddPathPoint(params[0], params[1], CFX_Path::Point::Type::kLine,
+                           false);
               nParams = 0;
               break;
             case kPathOperatorCubicBezier1:
-              AddPathPoint(params[0], params[1], FXPT_TYPE::BezierTo, false);
-              AddPathPoint(params[2], params[3], FXPT_TYPE::BezierTo, false);
-              AddPathPoint(params[4], params[5], FXPT_TYPE::BezierTo, false);
+              AddPathPoint(params[0], params[1], CFX_Path::Point::Type::kBezier,
+                           false);
+              AddPathPoint(params[2], params[3], CFX_Path::Point::Type::kBezier,
+                           false);
+              AddPathPoint(params[4], params[5], CFX_Path::Point::Type::kBezier,
+                           false);
               nParams = 0;
               break;
             case kPathOperatorCubicBezier2:
-              AddPathPoint(m_PathCurrentX, m_PathCurrentY, FXPT_TYPE::BezierTo,
+              AddPathPoint(m_PathCurrentX, m_PathCurrentY,
+                           CFX_Path::Point::Type::kBezier, false);
+              AddPathPoint(params[0], params[1], CFX_Path::Point::Type::kBezier,
                            false);
-              AddPathPoint(params[0], params[1], FXPT_TYPE::BezierTo, false);
-              AddPathPoint(params[2], params[3], FXPT_TYPE::BezierTo, false);
+              AddPathPoint(params[2], params[3], CFX_Path::Point::Type::kBezier,
+                           false);
               nParams = 0;
               break;
             case kPathOperatorCubicBezier3:
-              AddPathPoint(params[0], params[1], FXPT_TYPE::BezierTo, false);
-              AddPathPoint(params[2], params[3], FXPT_TYPE::BezierTo, false);
-              AddPathPoint(params[2], params[3], FXPT_TYPE::BezierTo, false);
+              AddPathPoint(params[0], params[1], CFX_Path::Point::Type::kBezier,
+                           false);
+              AddPathPoint(params[2], params[3], CFX_Path::Point::Type::kBezier,
+                           false);
+              AddPathPoint(params[2], params[3], CFX_Path::Point::Type::kBezier,
+                           false);
               nParams = 0;
               break;
             case kPathOperatorClosePath:
diff --git a/core/fpdfapi/page/cpdf_streamcontentparser.h b/core/fpdfapi/page/cpdf_streamcontentparser.h
index 218a801..cf95937 100644
--- a/core/fpdfapi/page/cpdf_streamcontentparser.h
+++ b/core/fpdfapi/page/cpdf_streamcontentparser.h
@@ -108,7 +108,7 @@
 
   void OnChangeTextMatrix();
   void ParsePathObject();
-  void AddPathPoint(float x, float y, FXPT_TYPE type, bool close);
+  void AddPathPoint(float x, float y, CFX_Path::Point::Type type, bool close);
   void AddPathRect(float x, float y, float w, float h);
   void AddPathObject(CFX_FillRenderOptions::FillType fill_type, bool bStroke);
   CPDF_ImageObject* AddImage(RetainPtr<CPDF_Stream> pStream);
diff --git a/core/fpdfapi/render/cpdf_rendershading.cpp b/core/fpdfapi/render/cpdf_rendershading.cpp
index 852e123..8fb867b 100644
--- a/core/fpdfapi/render/cpdf_rendershading.cpp
+++ b/core/fpdfapi/render/cpdf_rendershading.cpp
@@ -793,8 +793,9 @@
   patch.bNoPathSmooth = bNoPathSmooth;
 
   for (int i = 0; i < 13; i++) {
-    patch.path.AppendPoint(CFX_PointF(),
-                           i == 0 ? FXPT_TYPE::MoveTo : FXPT_TYPE::BezierTo);
+    patch.path.AppendPoint(CFX_PointF(), i == 0
+                                             ? CFX_Path::Point::Type::kMove
+                                             : CFX_Path::Point::Type::kBezier);
   }
 
   CFX_PointF coords[16];
diff --git a/core/fxge/agg/fx_agg_driver.cpp b/core/fxge/agg/fx_agg_driver.cpp
index e37998d..05343f2 100644
--- a/core/fxge/agg/fx_agg_driver.cpp
+++ b/core/fxge/agg/fx_agg_driver.cpp
@@ -974,18 +974,18 @@
       pos = pObject2Device->Transform(pos);
 
     pos = HardClip(pos);
-    FXPT_TYPE point_type = points[i].m_Type;
-    if (point_type == FXPT_TYPE::MoveTo) {
+    CFX_Path::Point::Type point_type = points[i].m_Type;
+    if (point_type == CFX_Path::Point::Type::kMove) {
       agg_path.move_to(pos.x, pos.y);
-    } else if (point_type == FXPT_TYPE::LineTo) {
-      if (i > 0 && points[i - 1].IsTypeAndOpen(FXPT_TYPE::MoveTo) &&
+    } else if (point_type == CFX_Path::Point::Type::kLine) {
+      if (i > 0 && points[i - 1].IsTypeAndOpen(CFX_Path::Point::Type::kMove) &&
           (i == points.size() - 1 ||
-           points[i + 1].IsTypeAndOpen(FXPT_TYPE::MoveTo)) &&
+           points[i + 1].IsTypeAndOpen(CFX_Path::Point::Type::kMove)) &&
           points[i].m_Point == points[i - 1].m_Point) {
         pos.x += 1;
       }
       agg_path.line_to(pos.x, pos.y);
-    } else if (point_type == FXPT_TYPE::BezierTo) {
+    } else if (point_type == CFX_Path::Point::Type::kBezier) {
       if (i > 0 && i + 2 < points.size()) {
         CFX_PointF pos0 = points[i - 1].m_Point;
         CFX_PointF pos2 = points[i + 1].m_Point;
diff --git a/core/fxge/cfx_drawutils.cpp b/core/fxge/cfx_drawutils.cpp
index b213516..fe37685 100644
--- a/core/fxge/cfx_drawutils.cpp
+++ b/core/fxge/cfx_drawutils.cpp
@@ -19,16 +19,16 @@
   DCHECK(render_device);
   CFX_Path path;
   path.AppendPoint(CFX_PointF(view_bounding_box.left, view_bounding_box.top),
-                   FXPT_TYPE::MoveTo);
+                   CFX_Path::Point::Type::kMove);
   path.AppendPoint(CFX_PointF(view_bounding_box.left, view_bounding_box.bottom),
-                   FXPT_TYPE::LineTo);
+                   CFX_Path::Point::Type::kLine);
   path.AppendPoint(
       CFX_PointF(view_bounding_box.right, view_bounding_box.bottom),
-      FXPT_TYPE::LineTo);
+      CFX_Path::Point::Type::kLine);
   path.AppendPoint(CFX_PointF(view_bounding_box.right, view_bounding_box.top),
-                   FXPT_TYPE::LineTo);
+                   CFX_Path::Point::Type::kLine);
   path.AppendPoint(CFX_PointF(view_bounding_box.left, view_bounding_box.top),
-                   FXPT_TYPE::LineTo);
+                   CFX_Path::Point::Type::kLine);
 
   CFX_GraphStateData graph_state_data;
   graph_state_data.m_DashArray = {1.0f};
diff --git a/core/fxge/cfx_font.cpp b/core/fxge/cfx_font.cpp
index ed87968..472e7a7 100644
--- a/core/fxge/cfx_font.cpp
+++ b/core/fxge/cfx_font.cpp
@@ -64,12 +64,14 @@
     pdfium::span<const CFX_Path::Point> points = param->m_pPath->GetPoints();
     size = points.size();
 
-    if (size >= 2 && points[size - 2].IsTypeAndOpen(FXPT_TYPE::MoveTo) &&
+    if (size >= 2 &&
+        points[size - 2].IsTypeAndOpen(CFX_Path::Point::Type::kMove) &&
         points[size - 2].m_Point == points[size - 1].m_Point) {
       size -= 2;
     }
-    if (size >= 4 && points[size - 4].IsTypeAndOpen(FXPT_TYPE::MoveTo) &&
-        points[size - 3].IsTypeAndOpen(FXPT_TYPE::BezierTo) &&
+    if (size >= 4 &&
+        points[size - 4].IsTypeAndOpen(CFX_Path::Point::Type::kMove) &&
+        points[size - 3].IsTypeAndOpen(CFX_Path::Point::Type::kBezier) &&
         points[size - 3].m_Point == points[size - 4].m_Point &&
         points[size - 2].m_Point == points[size - 4].m_Point &&
         points[size - 1].m_Point == points[size - 4].m_Point) {
@@ -88,7 +90,7 @@
   param->m_pPath->ClosePath();
   param->m_pPath->AppendPoint(
       CFX_PointF(to->x / param->m_CoordUnit, to->y / param->m_CoordUnit),
-      FXPT_TYPE::MoveTo);
+      CFX_Path::Point::Type::kMove);
 
   param->m_CurX = to->x;
   param->m_CurY = to->y;
@@ -100,7 +102,7 @@
 
   param->m_pPath->AppendPoint(
       CFX_PointF(to->x / param->m_CoordUnit, to->y / param->m_CoordUnit),
-      FXPT_TYPE::LineTo);
+      CFX_Path::Point::Type::kLine);
 
   param->m_CurX = to->x;
   param->m_CurY = to->y;
@@ -115,16 +117,16 @@
                      param->m_CoordUnit,
                  (param->m_CurY + (control->y - param->m_CurY) * 2 / 3) /
                      param->m_CoordUnit),
-      FXPT_TYPE::BezierTo);
+      CFX_Path::Point::Type::kBezier);
 
   param->m_pPath->AppendPoint(
       CFX_PointF((control->x + (to->x - control->x) / 3) / param->m_CoordUnit,
                  (control->y + (to->y - control->y) / 3) / param->m_CoordUnit),
-      FXPT_TYPE::BezierTo);
+      CFX_Path::Point::Type::kBezier);
 
   param->m_pPath->AppendPoint(
       CFX_PointF(to->x / param->m_CoordUnit, to->y / param->m_CoordUnit),
-      FXPT_TYPE::BezierTo);
+      CFX_Path::Point::Type::kBezier);
 
   param->m_CurX = to->x;
   param->m_CurY = to->y;
@@ -139,15 +141,15 @@
 
   param->m_pPath->AppendPoint(CFX_PointF(control1->x / param->m_CoordUnit,
                                          control1->y / param->m_CoordUnit),
-                              FXPT_TYPE::BezierTo);
+                              CFX_Path::Point::Type::kBezier);
 
   param->m_pPath->AppendPoint(CFX_PointF(control2->x / param->m_CoordUnit,
                                          control2->y / param->m_CoordUnit),
-                              FXPT_TYPE::BezierTo);
+                              CFX_Path::Point::Type::kBezier);
 
   param->m_pPath->AppendPoint(
       CFX_PointF(to->x / param->m_CoordUnit, to->y / param->m_CoordUnit),
-      FXPT_TYPE::BezierTo);
+      CFX_Path::Point::Type::kBezier);
 
   param->m_CurX = to->x;
   param->m_CurY = to->y;
diff --git a/core/fxge/cfx_path.cpp b/core/fxge/cfx_path.cpp
index 5d4b29b..ee5ce2d 100644
--- a/core/fxge/cfx_path.cpp
+++ b/core/fxge/cfx_path.cpp
@@ -28,7 +28,7 @@
   }
 
   for (size_t i = 1; i < points.size(); ++i) {
-    if (points[i].m_Type != FXPT_TYPE::LineTo)
+    if (points[i].m_Type != CFX_Path::Point::Type::kLine)
       return false;
   }
   return true;
@@ -82,7 +82,7 @@
 
     // If the line does not move, skip this point.
     const auto& point = *it;
-    if (point.m_Type == FXPT_TYPE::LineTo && !point.m_CloseFigure &&
+    if (point.m_Type == CFX_Path::Point::Type::kLine && !point.m_CloseFigure &&
         !normalized.back().m_CloseFigure &&
         point.m_Point == normalized.back().m_Point) {
       continue;
@@ -247,7 +247,7 @@
 
 CFX_Path::Point::Point() = default;
 
-CFX_Path::Point::Point(const CFX_PointF& point, FXPT_TYPE type, bool close)
+CFX_Path::Point::Point(const CFX_PointF& point, Type type, bool close)
     : m_Point(point), m_Type(type), m_CloseFigure(close) {}
 
 CFX_Path::Point::Point(const Point& other) = default;
@@ -286,20 +286,20 @@
     m_Points[i].m_Point = matrix->Transform(m_Points[i].m_Point);
 }
 
-void CFX_Path::AppendPoint(const CFX_PointF& point, FXPT_TYPE type) {
+void CFX_Path::AppendPoint(const CFX_PointF& point, Point::Type type) {
   m_Points.push_back(Point(point, type, /*close=*/false));
 }
 
-void CFX_Path::AppendPointAndClose(const CFX_PointF& point, FXPT_TYPE type) {
+void CFX_Path::AppendPointAndClose(const CFX_PointF& point, Point::Type type) {
   m_Points.push_back(Point(point, type, /*close=*/true));
 }
 
 void CFX_Path::AppendLine(const CFX_PointF& pt1, const CFX_PointF& pt2) {
   if (m_Points.empty() || fabs(m_Points.back().m_Point.x - pt1.x) > 0.001 ||
       fabs(m_Points.back().m_Point.y - pt1.y) > 0.001) {
-    AppendPoint(pt1, FXPT_TYPE::MoveTo);
+    AppendPoint(pt1, CFX_Path::Point::Type::kMove);
   }
-  AppendPoint(pt2, FXPT_TYPE::LineTo);
+  AppendPoint(pt2, CFX_Path::Point::Type::kLine);
 }
 
 void CFX_Path::AppendFloatRect(const CFX_FloatRect& rect) {
@@ -339,7 +339,7 @@
   int iMiddlePoint = 0;
   bool bJoin;
   while (iPoint < m_Points.size()) {
-    if (m_Points[iPoint].IsTypeAndOpen(FXPT_TYPE::MoveTo)) {
+    if (m_Points[iPoint].IsTypeAndOpen(CFX_Path::Point::Type::kMove)) {
       if (iPoint + 1 == m_Points.size())
         break;
 
@@ -347,13 +347,13 @@
       iEndPoint = iPoint;
       bJoin = false;
     } else {
-      if (m_Points[iPoint].IsTypeAndOpen(FXPT_TYPE::BezierTo)) {
+      if (m_Points[iPoint].IsTypeAndOpen(CFX_Path::Point::Type::kBezier)) {
         rect.UpdateRect(m_Points[iPoint].m_Point);
         rect.UpdateRect(m_Points[iPoint + 1].m_Point);
         iPoint += 2;
       }
       if (iPoint == m_Points.size() - 1 ||
-          m_Points[iPoint + 1].IsTypeAndOpen(FXPT_TYPE::MoveTo)) {
+          m_Points[iPoint + 1].IsTypeAndOpen(CFX_Path::Point::Type::kMove)) {
         iStartPoint = iPoint - 1;
         iEndPoint = iPoint;
         bJoin = false;
diff --git a/core/fxge/cfx_path.h b/core/fxge/cfx_path.h
index c3a1c53..4f8da08 100644
--- a/core/fxge/cfx_path.h
+++ b/core/fxge/cfx_path.h
@@ -14,23 +14,23 @@
 #include "core/fxcrt/retain_ptr.h"
 #include "third_party/base/optional.h"
 
-enum class FXPT_TYPE : uint8_t { LineTo, BezierTo, MoveTo };
-
 class CFX_Path {
  public:
   class Point {
    public:
+    enum class Type : uint8_t { kLine, kBezier, kMove };
+
     Point();
-    Point(const CFX_PointF& point, FXPT_TYPE type, bool close);
+    Point(const CFX_PointF& point, Type type, bool close);
     Point(const Point& other);
     ~Point();
 
-    bool IsTypeAndOpen(FXPT_TYPE type) const {
+    bool IsTypeAndOpen(Type type) const {
       return m_Type == type && !m_CloseFigure;
     }
 
     CFX_PointF m_Point;
-    FXPT_TYPE m_Type;
+    Type m_Type;
     bool m_CloseFigure;
   };
 
@@ -41,7 +41,7 @@
 
   void Clear();
 
-  FXPT_TYPE GetType(int index) const { return m_Points[index].m_Type; }
+  Point::Type GetType(int index) const { return m_Points[index].m_Type; }
   bool IsClosingFigure(int index) const {
     return m_Points[index].m_CloseFigure;
   }
@@ -62,8 +62,8 @@
   void AppendFloatRect(const CFX_FloatRect& rect);
   void AppendRect(float left, float bottom, float right, float top);
   void AppendLine(const CFX_PointF& pt1, const CFX_PointF& pt2);
-  void AppendPoint(const CFX_PointF& point, FXPT_TYPE type);
-  void AppendPointAndClose(const CFX_PointF& point, FXPT_TYPE type);
+  void AppendPoint(const CFX_PointF& point, Point::Type type);
+  void AppendPointAndClose(const CFX_PointF& point, Point::Type type);
   void ClosePath();
 
  private:
diff --git a/core/fxge/cfx_path_unittest.cpp b/core/fxge/cfx_path_unittest.cpp
index 5ffe212..b601079 100644
--- a/core/fxge/cfx_path_unittest.cpp
+++ b/core/fxge/cfx_path_unittest.cpp
@@ -28,10 +28,10 @@
   EXPECT_EQ(CFX_FloatRect(), path.GetBoundingBox());
 
   // 4 points without a closed path makes a rect.
-  path.AppendPoint({0, 0}, FXPT_TYPE::MoveTo);
-  path.AppendPoint({0, 1}, FXPT_TYPE::LineTo);
-  path.AppendPoint({1, 1}, FXPT_TYPE::LineTo);
-  path.AppendPoint({1, 0}, FXPT_TYPE::LineTo);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kMove);
+  path.AppendPoint({0, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({1, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({1, 0}, CFX_Path::Point::Type::kLine);
   EXPECT_EQ(4u, path.GetPoints().size());
   EXPECT_TRUE(path.IsRect());
   rect = path.GetRect(nullptr);
@@ -96,14 +96,14 @@
 
 TEST(CFX_Path, Hexagon) {
   CFX_Path path;
-  path.AppendPoint({1, 0}, FXPT_TYPE::MoveTo);
-  path.AppendPoint({2, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({3, 1}, FXPT_TYPE::LineTo);
-  path.AppendPoint({2, 2}, FXPT_TYPE::LineTo);
-  path.AppendPoint({1, 2}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 1}, FXPT_TYPE::LineTo);
+  path.AppendPoint({1, 0}, CFX_Path::Point::Type::kMove);
+  path.AppendPoint({2, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({3, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({2, 2}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({1, 2}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 1}, CFX_Path::Point::Type::kLine);
   ASSERT_EQ(6u, path.GetPoints().size());
-  EXPECT_EQ(FXPT_TYPE::LineTo, path.GetType(5));
+  EXPECT_EQ(CFX_Path::Point::Type::kLine, path.GetType(5));
   EXPECT_FALSE(path.IsClosingFigure(5));
   EXPECT_FALSE(path.IsRect());
   EXPECT_FALSE(path.GetRect(nullptr).has_value());
@@ -111,7 +111,7 @@
 
   path.ClosePath();
   ASSERT_EQ(6u, path.GetPoints().size());
-  EXPECT_EQ(FXPT_TYPE::LineTo, path.GetType(5));
+  EXPECT_EQ(CFX_Path::Point::Type::kLine, path.GetType(5));
   EXPECT_TRUE(path.IsClosingFigure(5));
   EXPECT_FALSE(path.IsRect());
   EXPECT_FALSE(path.GetRect(nullptr).has_value());
@@ -119,20 +119,20 @@
   // Calling ClosePath() repeatedly makes no difference.
   path.ClosePath();
   ASSERT_EQ(6u, path.GetPoints().size());
-  EXPECT_EQ(FXPT_TYPE::LineTo, path.GetType(5));
+  EXPECT_EQ(CFX_Path::Point::Type::kLine, path.GetType(5));
   EXPECT_TRUE(path.IsClosingFigure(5));
   EXPECT_FALSE(path.IsRect());
   EXPECT_FALSE(path.GetRect(nullptr).has_value());
 
   // A hexagon with the same start/end point is still not a rectangle.
   path.Clear();
-  path.AppendPoint({1, 0}, FXPT_TYPE::MoveTo);
-  path.AppendPoint({2, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({3, 1}, FXPT_TYPE::LineTo);
-  path.AppendPoint({2, 2}, FXPT_TYPE::LineTo);
-  path.AppendPoint({1, 2}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 1}, FXPT_TYPE::LineTo);
-  path.AppendPoint({1, 0}, FXPT_TYPE::LineTo);
+  path.AppendPoint({1, 0}, CFX_Path::Point::Type::kMove);
+  path.AppendPoint({2, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({3, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({2, 2}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({1, 2}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({1, 0}, CFX_Path::Point::Type::kLine);
   EXPECT_FALSE(path.IsRect());
   EXPECT_FALSE(path.GetRect(nullptr).has_value());
   EXPECT_EQ(CFX_FloatRect(0, 0, 3, 2), path.GetBoundingBox());
@@ -144,7 +144,7 @@
   path.AppendLine({0, 1}, {1, 1});
   path.AppendLine({1, 1}, {1, 0});
   ASSERT_EQ(4u, path.GetPoints().size());
-  EXPECT_EQ(FXPT_TYPE::LineTo, path.GetType(3));
+  EXPECT_EQ(CFX_Path::Point::Type::kLine, path.GetType(3));
   EXPECT_FALSE(path.IsClosingFigure(3));
   EXPECT_TRUE(path.IsRect());
   Optional<CFX_FloatRect> rect = path.GetRect(nullptr);
@@ -159,7 +159,7 @@
 
   path.ClosePath();
   ASSERT_EQ(4u, path.GetPoints().size());
-  EXPECT_EQ(FXPT_TYPE::LineTo, path.GetType(3));
+  EXPECT_EQ(CFX_Path::Point::Type::kLine, path.GetType(3));
   EXPECT_TRUE(path.IsClosingFigure(3));
   EXPECT_TRUE(path.IsRect());
   rect = path.GetRect(nullptr);
@@ -169,18 +169,18 @@
   // Calling ClosePath() repeatedly makes no difference.
   path.ClosePath();
   ASSERT_EQ(4u, path.GetPoints().size());
-  EXPECT_EQ(FXPT_TYPE::LineTo, path.GetType(3));
+  EXPECT_EQ(CFX_Path::Point::Type::kLine, path.GetType(3));
   EXPECT_TRUE(path.IsClosingFigure(3));
   EXPECT_TRUE(path.IsRect());
   rect = path.GetRect(nullptr);
   ASSERT_TRUE(rect.has_value());
   EXPECT_EQ(CFX_FloatRect(0, 0, 1, 1), rect.value());
 
-  path.AppendPointAndClose({0, 0}, FXPT_TYPE::LineTo);
+  path.AppendPointAndClose({0, 0}, CFX_Path::Point::Type::kLine);
   ASSERT_EQ(5u, path.GetPoints().size());
-  EXPECT_EQ(FXPT_TYPE::LineTo, path.GetType(3));
+  EXPECT_EQ(CFX_Path::Point::Type::kLine, path.GetType(3));
   EXPECT_TRUE(path.IsClosingFigure(3));
-  EXPECT_EQ(FXPT_TYPE::LineTo, path.GetType(4));
+  EXPECT_EQ(CFX_Path::Point::Type::kLine, path.GetType(4));
   EXPECT_TRUE(path.IsClosingFigure(4));
   EXPECT_TRUE(path.IsRect());
   rect = path.GetRect(nullptr);
@@ -190,13 +190,13 @@
 
 TEST(CFX_Path, FivePointRect) {
   CFX_Path path;
-  path.AppendPoint({0, 0}, FXPT_TYPE::MoveTo);
-  path.AppendPoint({2, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({2, 1}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 1}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 0}, FXPT_TYPE::LineTo);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kMove);
+  path.AppendPoint({2, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({2, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kLine);
   ASSERT_EQ(5u, path.GetPoints().size());
-  EXPECT_EQ(FXPT_TYPE::LineTo, path.GetType(4));
+  EXPECT_EQ(CFX_Path::Point::Type::kLine, path.GetType(4));
   EXPECT_FALSE(path.IsClosingFigure(4));
   EXPECT_TRUE(path.IsRect());
   Optional<CFX_FloatRect> rect = path.GetRect(nullptr);
@@ -205,7 +205,7 @@
 
   path.ClosePath();
   ASSERT_EQ(5u, path.GetPoints().size());
-  EXPECT_EQ(FXPT_TYPE::LineTo, path.GetType(4));
+  EXPECT_EQ(CFX_Path::Point::Type::kLine, path.GetType(4));
   EXPECT_TRUE(path.IsClosingFigure(4));
   EXPECT_TRUE(path.IsRect());
   rect = path.GetRect(nullptr);
@@ -215,12 +215,12 @@
 
 TEST(CFX_Path, SixPlusPointRect) {
   CFX_Path path;
-  path.AppendPoint({0, 0}, FXPT_TYPE::MoveTo);
-  path.AppendPoint({0, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({2, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({2, 1}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 1}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 0}, FXPT_TYPE::LineTo);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kMove);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({2, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({2, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kLine);
   EXPECT_TRUE(path.IsRect());
   Optional<CFX_FloatRect> rect = path.GetRect(nullptr);
   ASSERT_TRUE(rect.has_value());
@@ -228,19 +228,19 @@
   EXPECT_EQ(CFX_FloatRect(0, 0, 2, 1), path.GetBoundingBox());
 
   path.Clear();
-  path.AppendPoint({0, 0}, FXPT_TYPE::MoveTo);
-  path.AppendPoint({0, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({2, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({2, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({2, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({2, 1}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 1}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 0}, FXPT_TYPE::LineTo);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kMove);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({2, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({2, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({2, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({2, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kLine);
   EXPECT_TRUE(path.IsRect());
   rect = path.GetRect(nullptr);
   ASSERT_TRUE(rect.has_value());
@@ -250,11 +250,11 @@
 
 TEST(CFX_Path, NotRect) {
   CFX_Path path;
-  path.AppendPoint({0, 0}, FXPT_TYPE::MoveTo);
-  path.AppendPoint({2, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({2, 1}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 1}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 0.1f}, FXPT_TYPE::LineTo);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kMove);
+  path.AppendPoint({2, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({2, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 0.1f}, CFX_Path::Point::Type::kLine);
   EXPECT_FALSE(path.IsRect());
   Optional<CFX_FloatRect> rect = path.GetRect(nullptr);
   EXPECT_FALSE(rect.has_value());
@@ -267,62 +267,62 @@
   EXPECT_EQ(CFX_FloatRect(0, 0, 2, 1), path.GetBoundingBox());
 
   path.Clear();
-  path.AppendPoint({0, 0}, FXPT_TYPE::MoveTo);
-  path.AppendPoint({2, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({3, 1}, FXPT_TYPE::LineTo);
-  path.AppendPointAndClose({0, 1}, FXPT_TYPE::LineTo);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kMove);
+  path.AppendPoint({2, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({3, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPointAndClose({0, 1}, CFX_Path::Point::Type::kLine);
   EXPECT_FALSE(path.IsRect());
   rect = path.GetRect(nullptr);
   EXPECT_FALSE(rect.has_value());
   EXPECT_EQ(CFX_FloatRect(0, 0, 3, 1), path.GetBoundingBox());
 
   path.Clear();
-  path.AppendPoint({0, 0}, FXPT_TYPE::MoveTo);
-  path.AppendPoint({2, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({2, 1}, FXPT_TYPE::LineTo);
-  path.AppendPointAndClose({0, 1}, FXPT_TYPE::MoveTo);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kMove);
+  path.AppendPoint({2, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({2, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPointAndClose({0, 1}, CFX_Path::Point::Type::kMove);
   EXPECT_FALSE(path.IsRect());
   rect = path.GetRect(nullptr);
   EXPECT_FALSE(rect.has_value());
   EXPECT_EQ(CFX_FloatRect(0, 0, 2, 1), path.GetBoundingBox());
 
   path.Clear();
-  path.AppendPoint({0, 0}, FXPT_TYPE::MoveTo);
-  path.AppendPoint({2, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({3, 0}, FXPT_TYPE::LineTo);
-  path.AppendPointAndClose({0, 1}, FXPT_TYPE::LineTo);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kMove);
+  path.AppendPoint({2, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({3, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPointAndClose({0, 1}, CFX_Path::Point::Type::kLine);
   EXPECT_FALSE(path.IsRect());
   rect = path.GetRect(nullptr);
   EXPECT_FALSE(rect.has_value());
   EXPECT_EQ(CFX_FloatRect(0, 0, 3, 1), path.GetBoundingBox());
 
   path.Clear();
-  path.AppendPoint({0, 0}, FXPT_TYPE::MoveTo);
-  path.AppendPoint({2, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 1}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 0}, FXPT_TYPE::LineTo);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kMove);
+  path.AppendPoint({2, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kLine);
   EXPECT_FALSE(path.IsRect());
   rect = path.GetRect(nullptr);
   EXPECT_FALSE(rect.has_value());
   EXPECT_EQ(CFX_FloatRect(0, 0, 2, 1), path.GetBoundingBox());
 
   path.Clear();
-  path.AppendPoint({0, 0}, FXPT_TYPE::MoveTo);
-  path.AppendPoint({2, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({2, 1}, FXPT_TYPE::LineTo);
-  path.AppendPoint({2, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 0}, FXPT_TYPE::LineTo);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kMove);
+  path.AppendPoint({2, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({2, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({2, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kLine);
   EXPECT_FALSE(path.IsRect());
   rect = path.GetRect(nullptr);
   EXPECT_FALSE(rect.has_value());
   EXPECT_EQ(CFX_FloatRect(0, 0, 2, 1), path.GetBoundingBox());
 
   path.Clear();
-  path.AppendPoint({0, 0}, FXPT_TYPE::MoveTo);
-  path.AppendPoint({2, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({2, 1}, FXPT_TYPE::LineTo);
-  path.AppendPoint({2, 2}, FXPT_TYPE::LineTo);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kMove);
+  path.AppendPoint({2, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({2, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({2, 2}, CFX_Path::Point::Type::kLine);
   EXPECT_FALSE(path.IsRect());
   rect = path.GetRect(nullptr);
   EXPECT_FALSE(rect.has_value());
@@ -335,11 +335,11 @@
 TEST(CFX_Path, EmptyRect) {
   // Document existing behavior where an empty rect is still considered a rect.
   CFX_Path path;
-  path.AppendPoint({0, 0}, FXPT_TYPE::MoveTo);
-  path.AppendPoint({0, 0}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 1}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 1}, FXPT_TYPE::LineTo);
-  path.AppendPoint({0, 0}, FXPT_TYPE::LineTo);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kMove);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 1}, CFX_Path::Point::Type::kLine);
+  path.AppendPoint({0, 0}, CFX_Path::Point::Type::kLine);
   EXPECT_TRUE(path.IsRect());
   Optional<CFX_FloatRect> rect = path.GetRect(nullptr);
   ASSERT_TRUE(rect.has_value());
@@ -349,7 +349,7 @@
 
 TEST(CFX_Path, Append) {
   CFX_Path path;
-  path.AppendPoint({5, 6}, FXPT_TYPE::MoveTo);
+  path.AppendPoint({5, 6}, CFX_Path::Point::Type::kMove);
   ASSERT_EQ(1u, path.GetPoints().size());
   EXPECT_EQ(CFX_PointF(5, 6), path.GetPoint(0));
 
diff --git a/core/fxge/cfx_renderdevice.cpp b/core/fxge/cfx_renderdevice.cpp
index d60b341..02ebac7 100644
--- a/core/fxge/cfx_renderdevice.cpp
+++ b/core/fxge/cfx_renderdevice.cpp
@@ -326,10 +326,11 @@
   if (points.size() != 2 && points.size() != 3)
     return false;
 
-  if (points[0].m_Type != FXPT_TYPE::MoveTo ||
-      points[1].m_Type != FXPT_TYPE::LineTo ||
-      (points.size() == 3 && (points[2].m_Type != FXPT_TYPE::LineTo ||
-                              points[0].m_Point != points[2].m_Point))) {
+  if (points[0].m_Type != CFX_Path::Point::Type::kMove ||
+      points[1].m_Type != CFX_Path::Point::Type::kLine ||
+      (points.size() == 3 &&
+       (points[2].m_Type != CFX_Path::Point::Type::kLine ||
+        points[0].m_Point != points[2].m_Point))) {
     return false;
   }
 
@@ -347,8 +348,8 @@
       point = CFX_PointF(static_cast<int>(point.x) + 0.5f,
                          static_cast<int>(point.y) + 0.5f);
     }
-    new_path->AppendPoint(point,
-                          i == 0 ? FXPT_TYPE::MoveTo : FXPT_TYPE::LineTo);
+    new_path->AppendPoint(point, i == 0 ? CFX_Path::Point::Type::kMove
+                                        : CFX_Path::Point::Type::kLine);
   }
   if (adjust && matrix)
     *set_identity = true;
@@ -370,14 +371,16 @@
   CFX_Path temp_path;
   for (int i = 0; i < mid; i++) {
     if (!(points[mid - i - 1].m_Point == points[mid + i + 1].m_Point &&
-          points[mid - i - 1].m_Type != FXPT_TYPE::BezierTo &&
-          points[mid + i + 1].m_Type != FXPT_TYPE::BezierTo)) {
+          points[mid - i - 1].m_Type != CFX_Path::Point::Type::kBezier &&
+          points[mid + i + 1].m_Type != CFX_Path::Point::Type::kBezier)) {
       zero_area = false;
       break;
     }
 
-    temp_path.AppendPoint(points[mid - i].m_Point, FXPT_TYPE::MoveTo);
-    temp_path.AppendPoint(points[mid - i - 1].m_Point, FXPT_TYPE::LineTo);
+    temp_path.AppendPoint(points[mid - i].m_Point,
+                          CFX_Path::Point::Type::kMove);
+    temp_path.AppendPoint(points[mid - i - 1].m_Point,
+                          CFX_Path::Point::Type::kLine);
   }
   if (!zero_area)
     return false;
@@ -426,22 +429,23 @@
     return true;
 
   for (size_t i = 0; i < points.size(); i++) {
-    FXPT_TYPE point_type = points[i].m_Type;
-    if (point_type == FXPT_TYPE::MoveTo) {
+    CFX_Path::Point::Type point_type = points[i].m_Type;
+    if (point_type == CFX_Path::Point::Type::kMove) {
       DCHECK_EQ(0, i);
       continue;
     }
 
-    if (point_type == FXPT_TYPE::BezierTo) {
+    if (point_type == CFX_Path::Point::Type::kBezier) {
       i += 2;
       DCHECK(i < points.size());
       continue;
     }
 
-    DCHECK_EQ(point_type, FXPT_TYPE::LineTo);
+    DCHECK_EQ(point_type, CFX_Path::Point::Type::kLine);
     int next_index = (i + 1) % (points.size());
     const CFX_Path::Point& next = points[next_index];
-    if (next.m_Type == FXPT_TYPE::BezierTo || next.m_Type == FXPT_TYPE::MoveTo)
+    if (next.m_Type == CFX_Path::Point::Type::kBezier ||
+        next.m_Type == CFX_Path::Point::Type::kMove)
       continue;
 
     const CFX_Path::Point& prev = points[i - 1];
@@ -451,8 +455,8 @@
                       fabs(cur.m_Point.y - next.m_Point.y);
       const CFX_Path::Point& start = use_prev ? prev : cur;
       const CFX_Path::Point& end = use_prev ? points[next_index - 1] : next;
-      new_path->AppendPoint(start.m_Point, FXPT_TYPE::MoveTo);
-      new_path->AppendPoint(end.m_Point, FXPT_TYPE::LineTo);
+      new_path->AppendPoint(start.m_Point, CFX_Path::Point::Type::kMove);
+      new_path->AppendPoint(end.m_Point, CFX_Path::Point::Type::kLine);
       continue;
     }
 
@@ -462,8 +466,8 @@
                       fabs(cur.m_Point.x - next.m_Point.x);
       const CFX_Path::Point& start = use_prev ? prev : cur;
       const CFX_Path::Point& end = use_prev ? points[next_index - 1] : next;
-      new_path->AppendPoint(start.m_Point, FXPT_TYPE::MoveTo);
-      new_path->AppendPoint(end.m_Point, FXPT_TYPE::LineTo);
+      new_path->AppendPoint(start.m_Point, CFX_Path::Point::Type::kMove);
+      new_path->AppendPoint(end.m_Point, CFX_Path::Point::Type::kLine);
       continue;
     }
   }
@@ -694,8 +698,8 @@
     bool adjust = !!m_pDeviceDriver->GetDriverType();
     std::vector<CFX_Path::Point> sub_path;
     for (size_t i = 0; i < points.size(); i++) {
-      FXPT_TYPE point_type = points[i].m_Type;
-      if (point_type == FXPT_TYPE::MoveTo) {
+      CFX_Path::Point::Type point_type = points[i].m_Type;
+      if (point_type == CFX_Path::Point::Type::kMove) {
         // Process the exisitng sub path.
         DrawZeroAreaPath(sub_path, pObject2Device, adjust,
                          fill_options.aliased_path, fill_color, fill_alpha,
@@ -707,7 +711,7 @@
         continue;
       }
 
-      if (point_type == FXPT_TYPE::BezierTo) {
+      if (point_type == CFX_Path::Point::Type::kBezier) {
         sub_path.push_back(points[i]);
         sub_path.push_back(points[i + 1]);
         sub_path.push_back(points[i + 2]);
@@ -715,7 +719,7 @@
         continue;
       }
 
-      DCHECK_EQ(point_type, FXPT_TYPE::LineTo);
+      DCHECK_EQ(point_type, CFX_Path::Point::Type::kLine);
       sub_path.push_back(points[i]);
       continue;
     }
@@ -834,8 +838,8 @@
   }
   CFX_GraphStateData graph_state;
   CFX_Path path;
-  path.AppendPoint(ptMoveTo, FXPT_TYPE::MoveTo);
-  path.AppendPoint(ptLineTo, FXPT_TYPE::LineTo);
+  path.AppendPoint(ptMoveTo, CFX_Path::Point::Type::kMove);
+  path.AppendPoint(ptLineTo, CFX_Path::Point::Type::kLine);
   return m_pDeviceDriver->DrawPath(&path, nullptr, &graph_state, 0, color,
                                    fill_options, blend_type);
 }
@@ -1281,9 +1285,9 @@
                                     const FX_COLORREF& color) {
   DCHECK(!points.empty());
   CFX_Path path;
-  path.AppendPoint(points[0], FXPT_TYPE::MoveTo);
+  path.AppendPoint(points[0], CFX_Path::Point::Type::kMove);
   for (size_t i = 1; i < points.size(); ++i)
-    path.AppendPoint(points[i], FXPT_TYPE::LineTo);
+    path.AppendPoint(points[i], CFX_Path::Point::Type::kLine);
 
   DrawPath(&path, &mtUser2Device, nullptr, color, 0,
            CFX_FillRenderOptions::EvenOddOptions());
@@ -1308,8 +1312,8 @@
                                       const FX_COLORREF& color,
                                       float fWidth) {
   CFX_Path path;
-  path.AppendPoint(ptMoveTo, FXPT_TYPE::MoveTo);
-  path.AppendPoint(ptLineTo, FXPT_TYPE::LineTo);
+  path.AppendPoint(ptMoveTo, CFX_Path::Point::Type::kMove);
+  path.AppendPoint(ptLineTo, CFX_Path::Point::Type::kLine);
 
   CFX_GraphStateData gsd;
   gsd.m_LineWidth = fWidth;
@@ -1403,15 +1407,15 @@
 
       CFX_Path path;
       path.AppendPoint(CFX_PointF(fLeft + fHalfWidth, fBottom + fHalfWidth),
-                       FXPT_TYPE::MoveTo);
+                       CFX_Path::Point::Type::kMove);
       path.AppendPoint(CFX_PointF(fLeft + fHalfWidth, fTop - fHalfWidth),
-                       FXPT_TYPE::LineTo);
+                       CFX_Path::Point::Type::kLine);
       path.AppendPoint(CFX_PointF(fRight - fHalfWidth, fTop - fHalfWidth),
-                       FXPT_TYPE::LineTo);
+                       CFX_Path::Point::Type::kLine);
       path.AppendPoint(CFX_PointF(fRight - fHalfWidth, fBottom + fHalfWidth),
-                       FXPT_TYPE::LineTo);
+                       CFX_Path::Point::Type::kLine);
       path.AppendPoint(CFX_PointF(fLeft + fHalfWidth, fBottom + fHalfWidth),
-                       FXPT_TYPE::LineTo);
+                       CFX_Path::Point::Type::kLine);
       DrawPath(&path, pUser2Device, &gsd, 0, color.ToFXColor(nTransparency),
                CFX_FillRenderOptions::WindingOptions());
       break;
@@ -1424,21 +1428,22 @@
       CFX_Path path_left_top;
       path_left_top.AppendPoint(
           CFX_PointF(fLeft + fHalfWidth, fBottom + fHalfWidth),
-          FXPT_TYPE::MoveTo);
+          CFX_Path::Point::Type::kMove);
       path_left_top.AppendPoint(
-          CFX_PointF(fLeft + fHalfWidth, fTop - fHalfWidth), FXPT_TYPE::LineTo);
+          CFX_PointF(fLeft + fHalfWidth, fTop - fHalfWidth),
+          CFX_Path::Point::Type::kLine);
       path_left_top.AppendPoint(
           CFX_PointF(fRight - fHalfWidth, fTop - fHalfWidth),
-          FXPT_TYPE::LineTo);
+          CFX_Path::Point::Type::kLine);
       path_left_top.AppendPoint(CFX_PointF(fRight - fWidth, fTop - fWidth),
-                                FXPT_TYPE::LineTo);
+                                CFX_Path::Point::Type::kLine);
       path_left_top.AppendPoint(CFX_PointF(fLeft + fWidth, fTop - fWidth),
-                                FXPT_TYPE::LineTo);
+                                CFX_Path::Point::Type::kLine);
       path_left_top.AppendPoint(CFX_PointF(fLeft + fWidth, fBottom + fWidth),
-                                FXPT_TYPE::LineTo);
+                                CFX_Path::Point::Type::kLine);
       path_left_top.AppendPoint(
           CFX_PointF(fLeft + fHalfWidth, fBottom + fHalfWidth),
-          FXPT_TYPE::LineTo);
+          CFX_Path::Point::Type::kLine);
       DrawPath(&path_left_top, pUser2Device, &gsd,
                crLeftTop.ToFXColor(nTransparency), 0,
                CFX_FillRenderOptions::EvenOddOptions());
@@ -1446,22 +1451,24 @@
       CFX_Path path_right_bottom;
       path_right_bottom.AppendPoint(
           CFX_PointF(fRight - fHalfWidth, fTop - fHalfWidth),
-          FXPT_TYPE::MoveTo);
+          CFX_Path::Point::Type::kMove);
       path_right_bottom.AppendPoint(
           CFX_PointF(fRight - fHalfWidth, fBottom + fHalfWidth),
-          FXPT_TYPE::LineTo);
+          CFX_Path::Point::Type::kLine);
       path_right_bottom.AppendPoint(
           CFX_PointF(fLeft + fHalfWidth, fBottom + fHalfWidth),
-          FXPT_TYPE::LineTo);
+          CFX_Path::Point::Type::kLine);
       path_right_bottom.AppendPoint(
-          CFX_PointF(fLeft + fWidth, fBottom + fWidth), FXPT_TYPE::LineTo);
+          CFX_PointF(fLeft + fWidth, fBottom + fWidth),
+          CFX_Path::Point::Type::kLine);
       path_right_bottom.AppendPoint(
-          CFX_PointF(fRight - fWidth, fBottom + fWidth), FXPT_TYPE::LineTo);
+          CFX_PointF(fRight - fWidth, fBottom + fWidth),
+          CFX_Path::Point::Type::kLine);
       path_right_bottom.AppendPoint(CFX_PointF(fRight - fWidth, fTop - fWidth),
-                                    FXPT_TYPE::LineTo);
+                                    CFX_Path::Point::Type::kLine);
       path_right_bottom.AppendPoint(
           CFX_PointF(fRight - fHalfWidth, fTop - fHalfWidth),
-          FXPT_TYPE::LineTo);
+          CFX_Path::Point::Type::kLine);
       DrawPath(&path_right_bottom, pUser2Device, &gsd,
                crRightBottom.ToFXColor(nTransparency), 0,
                CFX_FillRenderOptions::EvenOddOptions());
@@ -1480,9 +1487,9 @@
 
       CFX_Path path;
       path.AppendPoint(CFX_PointF(fLeft, fBottom + fHalfWidth),
-                       FXPT_TYPE::MoveTo);
+                       CFX_Path::Point::Type::kMove);
       path.AppendPoint(CFX_PointF(fRight, fBottom + fHalfWidth),
-                       FXPT_TYPE::LineTo);
+                       CFX_Path::Point::Type::kLine);
       DrawPath(&path, pUser2Device, &gsd, 0, color.ToFXColor(nTransparency),
                CFX_FillRenderOptions::EvenOddOptions());
       break;
diff --git a/core/fxge/skia/fx_skia_device.cpp b/core/fxge/skia/fx_skia_device.cpp
index 1601c65..adb3596 100644
--- a/core/fxge/skia/fx_skia_device.cpp
+++ b/core/fxge/skia/fx_skia_device.cpp
@@ -330,12 +330,12 @@
   pdfium::span<const CFX_Path::Point> points = pPath->GetPoints();
   for (size_t i = 0; i < points.size(); ++i) {
     const CFX_PointF& point = points[i].m_Point;
-    FXPT_TYPE point_type = points[i].m_Type;
-    if (point_type == FXPT_TYPE::MoveTo) {
+    CFX_Path::Point::Type point_type = points[i].m_Type;
+    if (point_type == CFX_Path::Point::Type::kMove) {
       sk_path.moveTo(point.x, point.y);
-    } else if (point_type == FXPT_TYPE::LineTo) {
+    } else if (point_type == CFX_Path::Point::Type::kLine) {
       sk_path.lineTo(point.x, point.y);
-    } else if (point_type == FXPT_TYPE::BezierTo) {
+    } else if (point_type == CFX_Path::Point::Type::kBezier) {
       const CFX_PointF& point2 = points[i + 1].m_Point;
       const CFX_PointF& point3 = points[i + 2].m_Point;
       sk_path.cubicTo(point.x, point.y, point2.x, point2.y, point3.x, point3.y);
diff --git a/core/fxge/win32/cfx_psrenderer.cpp b/core/fxge/win32/cfx_psrenderer.cpp
index 9d50617..e82aec8 100644
--- a/core/fxge/win32/cfx_psrenderer.cpp
+++ b/core/fxge/win32/cfx_psrenderer.cpp
@@ -114,7 +114,7 @@
   size_t size = pPath->GetPoints().size();
 
   for (size_t i = 0; i < size; i++) {
-    FXPT_TYPE type = pPath->GetType(i);
+    CFX_Path::Point::Type type = pPath->GetType(i);
     bool closing = pPath->IsClosingFigure(i);
     CFX_PointF pos = pPath->GetPoint(i);
     if (pObject2Device)
@@ -122,15 +122,15 @@
 
     buf << pos.x << " " << pos.y;
     switch (type) {
-      case FXPT_TYPE::MoveTo:
+      case CFX_Path::Point::Type::kMove:
         buf << " m ";
         break;
-      case FXPT_TYPE::LineTo:
+      case CFX_Path::Point::Type::kLine:
         buf << " l ";
         if (closing)
           buf << "h ";
         break;
-      case FXPT_TYPE::BezierTo: {
+      case CFX_Path::Point::Type::kBezier: {
         CFX_PointF pos1 = pPath->GetPoint(i + 1);
         CFX_PointF pos2 = pPath->GetPoint(i + 2);
         if (pObject2Device) {
@@ -531,15 +531,15 @@
   for (size_t p = 0; p < TransformedPath.GetPoints().size(); p++) {
     CFX_PointF point = TransformedPath.GetPoint(p);
     switch (TransformedPath.GetType(p)) {
-      case FXPT_TYPE::MoveTo: {
+      case CFX_Path::Point::Type::kMove: {
         buf << point.x << " " << point.y << " m\n";
         break;
       }
-      case FXPT_TYPE::LineTo: {
+      case CFX_Path::Point::Type::kLine: {
         buf << point.x << " " << point.y << " l\n";
         break;
       }
-      case FXPT_TYPE::BezierTo: {
+      case CFX_Path::Point::Type::kBezier: {
         CFX_PointF point1 = TransformedPath.GetPoint(p + 1);
         CFX_PointF point2 = TransformedPath.GetPoint(p + 2);
         buf << point.x << " " << point.y << " " << point1.x << " " << point1.y
diff --git a/core/fxge/win32/cgdi_device_driver.cpp b/core/fxge/win32/cgdi_device_driver.cpp
index 597894b..6201c84 100644
--- a/core/fxge/win32/cgdi_device_driver.cpp
+++ b/core/fxge/win32/cgdi_device_driver.cpp
@@ -116,15 +116,15 @@
       pos = pMatrix->Transform(pos);
 
     CFX_Point screen(FXSYS_roundf(pos.x), FXSYS_roundf(pos.y));
-    FXPT_TYPE point_type = points[i].m_Type;
-    if (point_type == FXPT_TYPE::MoveTo) {
+    CFX_Path::Point::Type point_type = points[i].m_Type;
+    if (point_type == CFX_Path::Point::Type::kMove) {
       MoveToEx(hDC, screen.x, screen.y, nullptr);
-    } else if (point_type == FXPT_TYPE::LineTo) {
+    } else if (point_type == CFX_Path::Point::Type::kLine) {
       if (points[i].m_Point == points[i - 1].m_Point)
         screen.x++;
 
       LineTo(hDC, screen.x, screen.y);
-    } else if (point_type == FXPT_TYPE::BezierTo) {
+    } else if (point_type == CFX_Path::Point::Type::kBezier) {
       POINT lppt[3];
       lppt[0].x = screen.x;
       lppt[0].y = screen.y;
diff --git a/core/fxge/win32/cgdi_plus_ext.cpp b/core/fxge/win32/cgdi_plus_ext.cpp
index b2e3834..9be3371 100644
--- a/core/fxge/win32/cgdi_plus_ext.cpp
+++ b/core/fxge/win32/cgdi_plus_ext.cpp
@@ -715,17 +715,17 @@
     if (pos.y < -50000.0f)
       gp_points[i].Y = -50000.0f;
 
-    FXPT_TYPE point_type = points[i].m_Type;
-    if (point_type == FXPT_TYPE::MoveTo) {
+    CFX_Path::Point::Type point_type = points[i].m_Type;
+    if (point_type == CFX_Path::Point::Type::kMove) {
       gp_types[i] = Gdiplus::PathPointTypeStart;
       nSubPathes++;
       bSubClose = false;
       startpoint = i;
-    } else if (point_type == FXPT_TYPE::LineTo) {
+    } else if (point_type == CFX_Path::Point::Type::kLine) {
       gp_types[i] = Gdiplus::PathPointTypeLine;
-      if (points[i - 1].IsTypeAndOpen(FXPT_TYPE::MoveTo) &&
+      if (points[i - 1].IsTypeAndOpen(CFX_Path::Point::Type::kMove) &&
           (i == points.size() - 1 ||
-           points[i + 1].IsTypeAndOpen(FXPT_TYPE::MoveTo)) &&
+           points[i + 1].IsTypeAndOpen(CFX_Path::Point::Type::kMove)) &&
           gp_points[i].Y == gp_points[i - 1].Y &&
           gp_points[i].X == gp_points[i - 1].X) {
         gp_points[i].X += 0.01f;
@@ -735,7 +735,7 @@
           gp_points[i].Y != gp_points[i - 1].Y) {
         bSmooth = true;
       }
-    } else if (point_type == FXPT_TYPE::BezierTo) {
+    } else if (point_type == CFX_Path::Point::Type::kBezier) {
       gp_types[i] = Gdiplus::PathPointTypeBezier;
       bSmooth = true;
     }
diff --git a/fpdfsdk/fpdf_edit_embeddertest.cpp b/fpdfsdk/fpdf_edit_embeddertest.cpp
index 346bb6c..5577a12 100644
--- a/fpdfsdk/fpdf_edit_embeddertest.cpp
+++ b/fpdfsdk/fpdf_edit_embeddertest.cpp
@@ -413,8 +413,8 @@
   EXPECT_EQ(0u, B);
   EXPECT_EQ(128u, A);
 
-  // Make sure the path has 5 points (1 FXPT_TYPE::MoveTo and 4
-  // FXPT_TYPE::LineTo).
+  // Make sure the path has 5 points (1 CFX_Path::Point::Type::kMove and 4
+  // CFX_Path::Point::Type::kLine).
   ASSERT_EQ(5, FPDFPath_CountSegments(green_rect));
   // Verify actual coordinates.
   FPDF_PATHSEGMENT segment = FPDFPath_GetPathSegment(green_rect, 0);
@@ -466,8 +466,8 @@
   EXPECT_TRUE(FPDFPath_LineTo(black_path, 300, 100));
   EXPECT_TRUE(FPDFPath_Close(black_path));
 
-  // Make sure the path has 3 points (1 FXPT_TYPE::MoveTo and 2
-  // FXPT_TYPE::LineTo).
+  // Make sure the path has 3 points (1 CFX_Path::Point::Type::kMove and 2
+  // CFX_Path::Point::Type::kLine).
   ASSERT_EQ(3, FPDFPath_CountSegments(black_path));
   // Verify actual coordinates.
   segment = FPDFPath_GetPathSegment(black_path, 0);
diff --git a/fpdfsdk/fpdf_editpath.cpp b/fpdfsdk/fpdf_editpath.cpp
index e65982a..035fa83 100644
--- a/fpdfsdk/fpdf_editpath.cpp
+++ b/fpdfsdk/fpdf_editpath.cpp
@@ -30,12 +30,15 @@
 static_assert(CFX_GraphStateData::LineJoinBevel == FPDF_LINEJOIN_BEVEL,
               "CFX_GraphStateData::LineJoinBevel value mismatch");
 
-static_assert(static_cast<int>(FXPT_TYPE::LineTo) == FPDF_SEGMENT_LINETO,
-              "FXPT_TYPE::LineTo value mismatch");
-static_assert(static_cast<int>(FXPT_TYPE::BezierTo) == FPDF_SEGMENT_BEZIERTO,
-              "FXPT_TYPE::BezierTo value mismatch");
-static_assert(static_cast<int>(FXPT_TYPE::MoveTo) == FPDF_SEGMENT_MOVETO,
-              "FXPT_TYPE::MoveTo value mismatch");
+static_assert(static_cast<int>(CFX_Path::Point::Type::kLine) ==
+                  FPDF_SEGMENT_LINETO,
+              "CFX_Path::Point::Type::kLine value mismatch");
+static_assert(static_cast<int>(CFX_Path::Point::Type::kBezier) ==
+                  FPDF_SEGMENT_BEZIERTO,
+              "CFX_Path::Point::Type::kBezier value mismatch");
+static_assert(static_cast<int>(CFX_Path::Point::Type::kMove) ==
+                  FPDF_SEGMENT_MOVETO,
+              "CFX_Path::Point::Type::kMove value mismatch");
 
 namespace {
 
@@ -49,7 +52,7 @@
 FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV FPDFPageObj_CreateNewPath(float x,
                                                                     float y) {
   auto pPathObj = std::make_unique<CPDF_PathObject>();
-  pPathObj->path().AppendPoint(CFX_PointF(x, y), FXPT_TYPE::MoveTo);
+  pPathObj->path().AppendPoint(CFX_PointF(x, y), CFX_Path::Point::Type::kMove);
   pPathObj->DefaultStates();
 
   // Caller takes ownership.
@@ -95,7 +98,7 @@
   if (!pPathObj)
     return false;
 
-  pPathObj->path().AppendPoint(CFX_PointF(x, y), FXPT_TYPE::MoveTo);
+  pPathObj->path().AppendPoint(CFX_PointF(x, y), CFX_Path::Point::Type::kMove);
   pPathObj->SetDirty(true);
   return true;
 }
@@ -107,7 +110,7 @@
   if (!pPathObj)
     return false;
 
-  pPathObj->path().AppendPoint(CFX_PointF(x, y), FXPT_TYPE::LineTo);
+  pPathObj->path().AppendPoint(CFX_PointF(x, y), CFX_Path::Point::Type::kLine);
   pPathObj->SetDirty(true);
   return true;
 }
@@ -124,9 +127,9 @@
     return false;
 
   CPDF_Path& cpath = pPathObj->path();
-  cpath.AppendPoint(CFX_PointF(x1, y1), FXPT_TYPE::BezierTo);
-  cpath.AppendPoint(CFX_PointF(x2, y2), FXPT_TYPE::BezierTo);
-  cpath.AppendPoint(CFX_PointF(x3, y3), FXPT_TYPE::BezierTo);
+  cpath.AppendPoint(CFX_PointF(x1, y1), CFX_Path::Point::Type::kBezier);
+  cpath.AppendPoint(CFX_PointF(x2, y2), CFX_Path::Point::Type::kBezier);
+  cpath.AppendPoint(CFX_PointF(x3, y3), CFX_Path::Point::Type::kBezier);
   pPathObj->SetDirty(true);
   return true;
 }
diff --git a/fpdfsdk/fpdf_transformpage.cpp b/fpdfsdk/fpdf_transformpage.cpp
index 9f6ed57..81d3c98 100644
--- a/fpdfsdk/fpdf_transformpage.cpp
+++ b/fpdfsdk/fpdf_transformpage.cpp
@@ -78,10 +78,10 @@
 
   for (size_t i = 0; i < points.size(); ++i) {
     buf << points[i].m_Point.x << " " << points[i].m_Point.y;
-    FXPT_TYPE point_type = points[i].m_Type;
-    if (point_type == FXPT_TYPE::MoveTo) {
+    CFX_Path::Point::Type point_type = points[i].m_Type;
+    if (point_type == CFX_Path::Point::Type::kMove) {
       buf << " m\n";
-    } else if (point_type == FXPT_TYPE::BezierTo) {
+    } else if (point_type == CFX_Path::Point::Type::kBezier) {
       buf << " " << points[i + 1].m_Point.x << " " << points[i + 1].m_Point.y
           << " " << points[i + 2].m_Point.x << " " << points[i + 2].m_Point.y;
       buf << " c";
@@ -90,7 +90,7 @@
       buf << "\n";
 
       i += 2;
-    } else if (point_type == FXPT_TYPE::LineTo) {
+    } else if (point_type == CFX_Path::Point::Type::kLine) {
       buf << " l";
       if (points[i].m_CloseFigure)
         buf << " h";
diff --git a/fpdfsdk/pwl/cpwl_caret.cpp b/fpdfsdk/pwl/cpwl_caret.cpp
index cf5e726..efc7404 100644
--- a/fpdfsdk/pwl/cpwl_caret.cpp
+++ b/fpdfsdk/pwl/cpwl_caret.cpp
@@ -42,8 +42,10 @@
   }
 
   CFX_Path path;
-  path.AppendPoint(CFX_PointF(fCaretX, fCaretBottom), FXPT_TYPE::MoveTo);
-  path.AppendPoint(CFX_PointF(fCaretX, fCaretTop), FXPT_TYPE::LineTo);
+  path.AppendPoint(CFX_PointF(fCaretX, fCaretBottom),
+                   CFX_Path::Point::Type::kMove);
+  path.AppendPoint(CFX_PointF(fCaretX, fCaretTop),
+                   CFX_Path::Point::Type::kLine);
 
   CFX_GraphStateData gsd;
   gsd.m_LineWidth = m_fWidth;
diff --git a/fpdfsdk/pwl/cpwl_cbbutton.cpp b/fpdfsdk/pwl/cpwl_cbbutton.cpp
index 47ed807..bea9785 100644
--- a/fpdfsdk/pwl/cpwl_cbbutton.cpp
+++ b/fpdfsdk/pwl/cpwl_cbbutton.cpp
@@ -46,10 +46,10 @@
   CFX_PointF pt3(ptCenter.x, ptCenter.y - kComboBoxTriangleQuarterLength);
 
   CFX_Path path;
-  path.AppendPoint(pt1, FXPT_TYPE::MoveTo);
-  path.AppendPoint(pt2, FXPT_TYPE::LineTo);
-  path.AppendPoint(pt3, FXPT_TYPE::LineTo);
-  path.AppendPoint(pt1, FXPT_TYPE::LineTo);
+  path.AppendPoint(pt1, CFX_Path::Point::Type::kMove);
+  path.AppendPoint(pt2, CFX_Path::Point::Type::kLine);
+  path.AppendPoint(pt3, CFX_Path::Point::Type::kLine);
+  path.AppendPoint(pt1, CFX_Path::Point::Type::kLine);
 
   pDevice->DrawPath(&path, &mtUser2Device, nullptr,
                     PWL_DEFAULT_BLACKCOLOR.ToFXColor(GetTransparency()), 0,
diff --git a/fpdfsdk/pwl/cpwl_edit.cpp b/fpdfsdk/pwl/cpwl_edit.cpp
index 24f3de1..8478511 100644
--- a/fpdfsdk/pwl/cpwl_edit.cpp
+++ b/fpdfsdk/pwl/cpwl_edit.cpp
@@ -193,8 +193,8 @@
     for (int32_t i = 0; i < nCharArray - 1; ++i) {
       bottom.x = rcClient.left + width * (i + 1);
       top.x = bottom.x;
-      path.AppendPoint(bottom, FXPT_TYPE::MoveTo);
-      path.AppendPoint(top, FXPT_TYPE::LineTo);
+      path.AppendPoint(bottom, CFX_Path::Point::Type::kMove);
+      path.AppendPoint(top, CFX_Path::Point::Type::kLine);
     }
     if (!path.GetPoints().empty()) {
       pDevice->DrawPath(&path, &mtUser2Device, &gsd, 0,
diff --git a/xfa/fgas/graphics/cfgas_gepath.cpp b/xfa/fgas/graphics/cfgas_gepath.cpp
index 81c70f9..39ca530 100644
--- a/xfa/fgas/graphics/cfgas_gepath.cpp
+++ b/xfa/fgas/graphics/cfgas_gepath.cpp
@@ -21,19 +21,19 @@
 }
 
 void CFGAS_GEPath::MoveTo(const CFX_PointF& point) {
-  path_.AppendPoint(point, FXPT_TYPE::MoveTo);
+  path_.AppendPoint(point, CFX_Path::Point::Type::kMove);
 }
 
 void CFGAS_GEPath::LineTo(const CFX_PointF& point) {
-  path_.AppendPoint(point, FXPT_TYPE::LineTo);
+  path_.AppendPoint(point, CFX_Path::Point::Type::kLine);
 }
 
 void CFGAS_GEPath::BezierTo(const CFX_PointF& c1,
                             const CFX_PointF& c2,
                             const CFX_PointF& to) {
-  path_.AppendPoint(c1, FXPT_TYPE::BezierTo);
-  path_.AppendPoint(c2, FXPT_TYPE::BezierTo);
-  path_.AppendPoint(to, FXPT_TYPE::BezierTo);
+  path_.AppendPoint(c1, CFX_Path::Point::Type::kBezier);
+  path_.AppendPoint(c2, CFX_Path::Point::Type::kBezier);
+  path_.AppendPoint(to, CFX_Path::Point::Type::kBezier);
 }
 
 void CFGAS_GEPath::ArcTo(const CFX_PointF& pos,
@@ -61,20 +61,20 @@
   CFX_PointF bezier;
   bezier.x = pos.x + (size.width * ((points[0].x * cs) - (points[0].y * sn)));
   bezier.y = pos.y + (size.height * ((points[0].x * sn) + (points[0].y * cs)));
-  path_.AppendPoint(bezier, FXPT_TYPE::BezierTo);
+  path_.AppendPoint(bezier, CFX_Path::Point::Type::kBezier);
 
   bezier.x = pos.x + (size.width * ((points[1].x * cs) - (points[1].y * sn)));
   bezier.y = pos.y + (size.height * ((points[1].x * sn) + (points[1].y * cs)));
-  path_.AppendPoint(bezier, FXPT_TYPE::BezierTo);
+  path_.AppendPoint(bezier, CFX_Path::Point::Type::kBezier);
 
   bezier.x = pos.x + (size.width * cos(start_angle + sweep_angle));
   bezier.y = pos.y + (size.height * sin(start_angle + sweep_angle));
-  path_.AppendPoint(bezier, FXPT_TYPE::BezierTo);
+  path_.AppendPoint(bezier, CFX_Path::Point::Type::kBezier);
 }
 
 void CFGAS_GEPath::AddLine(const CFX_PointF& p1, const CFX_PointF& p2) {
-  path_.AppendPoint(p1, FXPT_TYPE::MoveTo);
-  path_.AppendPoint(p2, FXPT_TYPE::LineTo);
+  path_.AppendPoint(p1, CFX_Path::Point::Type::kMove);
+  path_.AppendPoint(p2, CFX_Path::Point::Type::kLine);
 }
 
 void CFGAS_GEPath::AddRectangle(float left,
@@ -109,7 +109,7 @@
   CFX_PointF pos(original_pos.x + size.width, original_pos.y + size.height);
   path_.AppendPoint(pos + CFX_PointF(size.width * cos(start_angle),
                                      size.height * sin(start_angle)),
-                    FXPT_TYPE::MoveTo);
+                    CFX_Path::Point::Type::kMove);
 
   float total_sweep = 0;
   float local_sweep = 0;