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;
}