Simplify writing out CFX_PointF to content streams.

Add operator<<() for CFX_PointF and use that instead of direct
WriteFloat() calls when appropriate.

Change-Id: Ifd445ce854681648a830fc32cff9d7cfefb0c069
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/56131
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp b/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp
index 4f13434..934101e 100644
--- a/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp
+++ b/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp
@@ -57,6 +57,12 @@
   return ar;
 }
 
+std::ostream& operator<<(std::ostream& ar, const CFX_PointF& point) {
+  WriteFloat(ar, point.x) << " ";
+  WriteFloat(ar, point.y);
+  return ar;
+}
+
 bool GetColor(const CPDF_Color* pColor, float* rgb) {
   int intRGB[3];
   if (!pColor || !pColor->IsColorSpaceRGB() ||
@@ -373,17 +379,13 @@
   const auto& pPoints = pPathObj->path().GetPoints();
   if (pPathObj->path().IsRect()) {
     CFX_PointF diff = pPoints[2].m_Point - pPoints[0].m_Point;
-    WriteFloat(*buf, pPoints[0].m_Point.x) << " ";
-    WriteFloat(*buf, pPoints[0].m_Point.y) << " ";
-    WriteFloat(*buf, diff.x) << " ";
-    WriteFloat(*buf, diff.y) << " re";
+    *buf << pPoints[0].m_Point << " " << diff << " re";
   } else {
     for (size_t i = 0; i < pPoints.size(); i++) {
       if (i > 0)
         *buf << " ";
 
-      WriteFloat(*buf, pPoints[i].m_Point.x) << " ";
-      WriteFloat(*buf, pPoints[i].m_Point.y);
+      *buf << pPoints[i].m_Point;
 
       FXPT_TYPE pointType = pPoints[i].m_Type;
       if (pointType == FXPT_TYPE::MoveTo) {
@@ -400,10 +402,8 @@
           break;
         }
         *buf << " ";
-        WriteFloat(*buf, pPoints[i + 1].m_Point.x) << " ";
-        WriteFloat(*buf, pPoints[i + 1].m_Point.y) << " ";
-        WriteFloat(*buf, pPoints[i + 2].m_Point.x) << " ";
-        WriteFloat(*buf, pPoints[i + 2].m_Point.y) << " c";
+        *buf << pPoints[i + 1].m_Point << " ";
+        *buf << pPoints[i + 2].m_Point << " c";
         i += 2;
       }
       if (pPoints[i].m_CloseFigure)