Start making CPDF_PathObject members private.

Also move member initialization to the header.

Change-Id: I557380ae774ddf887cefeb56df2a33e5b7cff8a4
Reviewed-on: https://pdfium-review.googlesource.com/c/44510
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 b0f0ca6..1aca4bb 100644
--- a/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp
+++ b/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp
@@ -352,7 +352,7 @@
                                             CPDF_PathObject* pPathObj) {
   ProcessGraphics(buf, pPathObj);
 
-  *buf << pPathObj->m_Matrix << " cm ";
+  *buf << pPathObj->matrix() << " cm ";
 
   auto& pPoints = pPathObj->m_Path.GetPoints();
   if (pPathObj->m_Path.IsRect()) {
diff --git a/core/fpdfapi/page/cpdf_pathobject.cpp b/core/fpdfapi/page/cpdf_pathobject.cpp
index 4fb8f10..eafbe77 100644
--- a/core/fpdfapi/page/cpdf_pathobject.cpp
+++ b/core/fpdfapi/page/cpdf_pathobject.cpp
@@ -7,11 +7,11 @@
 #include "core/fpdfapi/page/cpdf_pathobject.h"
 
 CPDF_PathObject::CPDF_PathObject(int32_t content_stream)
-    : CPDF_PageObject(content_stream), m_FillType(0), m_bStroke(false) {}
+    : CPDF_PageObject(content_stream) {}
 
 CPDF_PathObject::CPDF_PathObject() : CPDF_PathObject(kNoContentStream) {}
 
-CPDF_PathObject::~CPDF_PathObject() {}
+CPDF_PathObject::~CPDF_PathObject() = default;
 
 CPDF_PageObject::Type CPDF_PathObject::GetType() const {
   return PATH;
diff --git a/core/fpdfapi/page/cpdf_pathobject.h b/core/fpdfapi/page/cpdf_pathobject.h
index 0a1e4d0..dd4cd55 100644
--- a/core/fpdfapi/page/cpdf_pathobject.h
+++ b/core/fpdfapi/page/cpdf_pathobject.h
@@ -27,9 +27,14 @@
 
   void CalcBoundingBox();
 
+  const CFX_Matrix& matrix() const { return m_Matrix; }
+  void set_matrix(const CFX_Matrix& matrix) { m_Matrix = matrix; }
+
   CPDF_Path m_Path;
-  int m_FillType;
-  bool m_bStroke;
+  int m_FillType = 0;
+  bool m_bStroke = false;
+
+ private:
   CFX_Matrix m_Matrix;
 };
 
diff --git a/core/fpdfapi/page/cpdf_streamcontentparser.cpp b/core/fpdfapi/page/cpdf_streamcontentparser.cpp
index 6e930f6..03e87ce 100644
--- a/core/fpdfapi/page/cpdf_streamcontentparser.cpp
+++ b/core/fpdfapi/page/cpdf_streamcontentparser.cpp
@@ -1478,7 +1478,7 @@
     pPathObj->m_bStroke = bStroke;
     pPathObj->m_FillType = FillType;
     pPathObj->m_Path = Path;
-    pPathObj->m_Matrix = matrix;
+    pPathObj->set_matrix(matrix);
     SetGraphicStates(pPathObj.get(), true, false, true);
     pPathObj->CalcBoundingBox();
     m_pObjectHolder->AppendPageObject(std::move(pPathObj));
diff --git a/core/fpdfapi/render/cpdf_renderstatus.cpp b/core/fpdfapi/render/cpdf_renderstatus.cpp
index 6943661..6b17e09 100644
--- a/core/fpdfapi/render/cpdf_renderstatus.cpp
+++ b/core/fpdfapi/render/cpdf_renderstatus.cpp
@@ -1251,7 +1251,7 @@
 
   uint32_t fill_argb = FillType ? GetFillArgb(pPathObj) : 0;
   uint32_t stroke_argb = bStroke ? GetStrokeArgb(pPathObj) : 0;
-  CFX_Matrix path_matrix = pPathObj->m_Matrix;
+  CFX_Matrix path_matrix = pPathObj->matrix();
   path_matrix.Concat(mtObj2Device);
   if (!IsAvailableMatrix(path_matrix))
     return true;
@@ -1415,7 +1415,7 @@
 bool CPDF_RenderStatus::SelectClipPath(const CPDF_PathObject* pPathObj,
                                        const CFX_Matrix& mtObj2Device,
                                        bool bStroke) {
-  CFX_Matrix path_matrix = pPathObj->m_Matrix;
+  CFX_Matrix path_matrix = pPathObj->matrix();
   path_matrix.Concat(mtObj2Device);
   if (bStroke) {
     CFX_GraphState graphState = pPathObj->m_GraphState;
@@ -2007,9 +2007,9 @@
     matrix.Concat(CFX_Matrix(font_size, 0, 0, font_size, charpos.m_Origin.x,
                              charpos.m_Origin.y));
     path.m_Path.Append(pPath, &matrix);
-    path.m_Matrix = *pTextMatrix;
     path.m_bStroke = bStroke;
     path.m_FillType = bFill ? FXFILL_WINDING : 0;
+    path.set_matrix(*pTextMatrix);
     path.CalcBoundingBox();
     ProcessPath(&path, mtObj2Device);
   }
diff --git a/fpdfsdk/fpdf_editpath.cpp b/fpdfsdk/fpdf_editpath.cpp
index 8601a60..c412eef 100644
--- a/fpdfsdk/fpdf_editpath.cpp
+++ b/fpdfsdk/fpdf_editpath.cpp
@@ -252,7 +252,7 @@
   if (!pPathObj)
     return false;
 
-  std::tie(*a, *b, *c, *d, *e, *f) = pPathObj->m_Matrix.AsTuple();
+  std::tie(*a, *b, *c, *d, *e, *f) = pPathObj->matrix().AsTuple();
   return true;
 }
 
@@ -267,12 +267,7 @@
   if (!pPathObj)
     return false;
 
-  pPathObj->m_Matrix.a = a;
-  pPathObj->m_Matrix.b = b;
-  pPathObj->m_Matrix.c = c;
-  pPathObj->m_Matrix.d = d;
-  pPathObj->m_Matrix.e = e;
-  pPathObj->m_Matrix.f = f;
+  pPathObj->set_matrix(CFX_Matrix(a, b, c, d, e, f));
   pPathObj->SetDirty(true);
   return true;
 }