Encapsulate CPDF_GraphicStates member variables

Only allow access via getters/setters.

Bug: pdfium:1680
Change-Id: If2edc7ea4bab8f8d9cedfd1a39d592deaa079537
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/113515
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 586162c..c39493d 100644
--- a/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp
+++ b/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp
@@ -528,25 +528,25 @@
                                                 CPDF_PageObject* pPageObj) {
   *buf << "q ";
   float fillColor[3];
-  if (GetColor(pPageObj->m_ColorState.GetFillColor(), fillColor)) {
+  if (GetColor(pPageObj->color_state().GetFillColor(), fillColor)) {
     *buf << fillColor[0] << " " << fillColor[1] << " " << fillColor[2]
          << " rg ";
   }
   float strokeColor[3];
-  if (GetColor(pPageObj->m_ColorState.GetStrokeColor(), strokeColor)) {
+  if (GetColor(pPageObj->color_state().GetStrokeColor(), strokeColor)) {
     *buf << strokeColor[0] << " " << strokeColor[1] << " " << strokeColor[2]
          << " RG ";
   }
-  float lineWidth = pPageObj->m_GraphState.GetLineWidth();
+  float lineWidth = pPageObj->graph_state().GetLineWidth();
   if (lineWidth != 1.0f)
     WriteFloat(*buf, lineWidth) << " w ";
-  CFX_GraphStateData::LineCap lineCap = pPageObj->m_GraphState.GetLineCap();
+  CFX_GraphStateData::LineCap lineCap = pPageObj->graph_state().GetLineCap();
   if (lineCap != CFX_GraphStateData::LineCap::kButt)
     *buf << static_cast<int>(lineCap) << " J ";
-  CFX_GraphStateData::LineJoin lineJoin = pPageObj->m_GraphState.GetLineJoin();
+  CFX_GraphStateData::LineJoin lineJoin = pPageObj->graph_state().GetLineJoin();
   if (lineJoin != CFX_GraphStateData::LineJoin::kMiter)
     *buf << static_cast<int>(lineJoin) << " j ";
-  std::vector<float> dash_array = pPageObj->m_GraphState.GetLineDashArray();
+  std::vector<float> dash_array = pPageObj->graph_state().GetLineDashArray();
   if (dash_array.size()) {
     *buf << "[";
     for (size_t i = 0; i < dash_array.size(); ++i) {
@@ -556,10 +556,10 @@
       WriteFloat(*buf, dash_array[i]);
     }
     *buf << "] ";
-    WriteFloat(*buf, pPageObj->m_GraphState.GetLineDashPhase()) << " d ";
+    WriteFloat(*buf, pPageObj->graph_state().GetLineDashPhase()) << " d ";
   }
 
-  const CPDF_ClipPath& clip_path = pPageObj->m_ClipPath;
+  const CPDF_ClipPath& clip_path = pPageObj->clip_path();
   if (clip_path.HasRef()) {
     for (size_t i = 0; i < clip_path.GetPathCount(); ++i) {
       CPDF_Path path = clip_path.GetPath(i);
@@ -582,9 +582,9 @@
   }
 
   GraphicsData graphD;
-  graphD.fillAlpha = pPageObj->m_GeneralState.GetFillAlpha();
-  graphD.strokeAlpha = pPageObj->m_GeneralState.GetStrokeAlpha();
-  graphD.blendType = pPageObj->m_GeneralState.GetBlendType();
+  graphD.fillAlpha = pPageObj->general_state().GetFillAlpha();
+  graphD.strokeAlpha = pPageObj->general_state().GetStrokeAlpha();
+  graphD.blendType = pPageObj->general_state().GetBlendType();
   if (graphD.fillAlpha == 1.0f && graphD.strokeAlpha == 1.0f &&
       graphD.blendType == BlendMode::kNormal) {
     return;
@@ -605,11 +605,11 @@
 
     if (graphD.blendType != BlendMode::kNormal) {
       gsDict->SetNewFor<CPDF_Name>("BM",
-                                   pPageObj->m_GeneralState.GetBlendMode());
+                                   pPageObj->general_state().GetBlendMode());
     }
     m_pDocument->AddIndirectObject(gsDict);
     name = RealizeResource(std::move(gsDict), "ExtGState");
-    pPageObj->m_GeneralState.SetGraphicsResourceNames({name});
+    pPageObj->mutable_general_state().SetGraphicsResourceNames({name});
     m_pObjHolder->GraphicsMapInsert(graphD, name);
   }
   *buf << "/" << PDF_NameEncode(name) << " gs ";
diff --git a/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp b/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp
index 8d6aa1f..4e2d915 100644
--- a/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp
+++ b/core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp
@@ -90,9 +90,9 @@
     pPathObj->path().AppendRect(0.000000000000000000001,
                                 0.000000000000000000001, 100, 100);
 
-    pPathObj->m_ColorState.SetFillColor(pCS, rgb);
-    pPathObj->m_ColorState.SetStrokeColor(pCS, rgb);
-    pPathObj->m_GraphState.SetLineWidth(200000000000000000001.0);
+    pPathObj->mutable_color_state().SetFillColor(pCS, rgb);
+    pPathObj->mutable_color_state().SetStrokeColor(pCS, rgb);
+    pPathObj->mutable_graph_state().SetLineWidth(200000000000000000001.0);
     pPathObj->Transform(CFX_Matrix(1, 0, 0, 1, 0.000000000000000000001,
                                    200000000000000.000002));
 
@@ -111,9 +111,9 @@
   {
     // Test code in ProcessPath that handles bezier operator
     auto pPathObj = std::make_unique<CPDF_PathObject>();
-    pPathObj->m_ColorState.SetFillColor(pCS, rgb);
-    pPathObj->m_ColorState.SetStrokeColor(pCS, rgb);
-    pPathObj->m_GraphState.SetLineWidth(2.000000000000000000001);
+    pPathObj->mutable_color_state().SetFillColor(pCS, rgb);
+    pPathObj->mutable_color_state().SetStrokeColor(pCS, rgb);
+    pPathObj->mutable_graph_state().SetLineWidth(2.000000000000000000001);
     pPathObj->Transform(CFX_Matrix(1, 0, 0, 1, 432, 500000000000000.000002));
 
     pPathObj->set_filltype(CFX_FillRenderOptions::FillType::kWinding);
@@ -193,12 +193,12 @@
   static const std::vector<float> rgb = {0.5f, 0.7f, 0.35f};
   RetainPtr<CPDF_ColorSpace> pCS =
       CPDF_ColorSpace::GetStockCS(CPDF_ColorSpace::Family::kDeviceRGB);
-  pPathObj->m_ColorState.SetFillColor(pCS, rgb);
+  pPathObj->mutable_color_state().SetFillColor(pCS, rgb);
 
   static const std::vector<float> rgb2 = {1, 0.9f, 0};
-  pPathObj->m_ColorState.SetStrokeColor(pCS, rgb2);
-  pPathObj->m_GeneralState.SetFillAlpha(0.5f);
-  pPathObj->m_GeneralState.SetStrokeAlpha(0.8f);
+  pPathObj->mutable_color_state().SetStrokeColor(pCS, rgb2);
+  pPathObj->mutable_general_state().SetFillAlpha(0.5f);
+  pPathObj->mutable_general_state().SetStrokeAlpha(0.8f);
 
   auto pDoc = std::make_unique<CPDF_TestDocument>();
   pDoc->CreateNewDoc();
@@ -224,7 +224,7 @@
   EXPECT_EQ(0.8f, externalGS->GetFloatFor("CA"));
 
   // Same path, now with a stroke.
-  pPathObj->m_GraphState.SetLineWidth(10.5f);
+  pPathObj->mutable_graph_state().SetLineWidth(10.5f);
   buf.str("");
   TestProcessPath(&generator, &buf, pPathObj.get());
   ByteString pathString2(buf);
@@ -248,19 +248,19 @@
   auto pTestPage = pdfium::MakeRetain<CPDF_Page>(pDoc.get(), pPageDict);
   CPDF_PageContentGenerator generator(pTestPage.Get());
   auto pTextObj = std::make_unique<CPDF_TextObject>();
-  pTextObj->m_TextState.SetFont(
+  pTextObj->mutable_text_state().SetFont(
       CPDF_Font::GetStockFont(pDoc.get(), "Times-Roman"));
-  pTextObj->m_TextState.SetFontSize(10.0f);
+  pTextObj->mutable_text_state().SetFontSize(10.0f);
 
   static const std::vector<float> rgb = {0.5f, 0.7f, 0.35f};
   RetainPtr<CPDF_ColorSpace> pCS =
       CPDF_ColorSpace::GetStockCS(CPDF_ColorSpace::Family::kDeviceRGB);
-  pTextObj->m_ColorState.SetFillColor(pCS, rgb);
+  pTextObj->mutable_color_state().SetFillColor(pCS, rgb);
 
   static const std::vector<float> rgb2 = {1, 0.9f, 0};
-  pTextObj->m_ColorState.SetStrokeColor(pCS, rgb2);
-  pTextObj->m_GeneralState.SetFillAlpha(0.5f);
-  pTextObj->m_GeneralState.SetStrokeAlpha(0.8f);
+  pTextObj->mutable_color_state().SetStrokeColor(pCS, rgb2);
+  pTextObj->mutable_general_state().SetFillAlpha(0.5f);
+  pTextObj->mutable_general_state().SetStrokeAlpha(0.8f);
   pTextObj->Transform(CFX_Matrix(1, 0, 0, 1, 100, 100));
   pTextObj->SetText("Hello World");
   fxcrt::ostringstream buf;
@@ -331,9 +331,9 @@
     pDict->SetNewFor<CPDF_Reference>("FontDescriptor", pDoc.get(),
                                      pDesc->GetObjNum());
 
-    pTextObj->m_TextState.SetFont(
+    pTextObj->mutable_text_state().SetFont(
         CPDF_DocPageData::FromDocument(pDoc.get())->GetFont(pDict));
-    pTextObj->m_TextState.SetFontSize(15.5f);
+    pTextObj->mutable_text_state().SetFontSize(15.5f);
     pTextObj->SetText("I am indirect");
     pTextObj->SetTextRenderMode(TextRenderingMode::MODE_FILL_CLIP);
 
@@ -343,9 +343,9 @@
     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);
+    CPDF_ClipPath& clip_path = pTextObj->mutable_clip_path();
+    clip_path.Emplace();
+    clip_path.AppendPath(*pPath, CFX_FillRenderOptions::FillType::kEvenOdd);
 
     TestProcessText(&generator, &buf, pTextObj.get());
   }
diff --git a/core/fpdfapi/page/cpdf_allstates.cpp b/core/fpdfapi/page/cpdf_allstates.cpp
index e9263a7..fee8d22 100644
--- a/core/fpdfapi/page/cpdf_allstates.cpp
+++ b/core/fpdfapi/page/cpdf_allstates.cpp
@@ -39,7 +39,7 @@
                                  float phase,
                                  float scale) {
   std::vector<float> dashes = ReadArrayElementsToVector(pArray, pArray->size());
-  m_GraphState.SetLineDash(std::move(dashes), phase, scale);
+  mutable_graph_state().SetLineDash(std::move(dashes), phase, scale);
 }
 
 void CPDF_AllStates::ProcessExtGS(const CPDF_Dictionary* pGS,
@@ -53,18 +53,18 @@
     uint32_t key = it.first.GetID();
     switch (key) {
       case FXBSTR_ID('L', 'W', 0, 0):
-        m_GraphState.SetLineWidth(pObject->GetNumber());
+        mutable_graph_state().SetLineWidth(pObject->GetNumber());
         break;
       case FXBSTR_ID('L', 'C', 0, 0):
-        m_GraphState.SetLineCap(
+        mutable_graph_state().SetLineCap(
             static_cast<CFX_GraphStateData::LineCap>(pObject->GetInteger()));
         break;
       case FXBSTR_ID('L', 'J', 0, 0):
-        m_GraphState.SetLineJoin(
+        mutable_graph_state().SetLineJoin(
             static_cast<CFX_GraphStateData::LineJoin>(pObject->GetInteger()));
         break;
       case FXBSTR_ID('M', 'L', 0, 0):
-        m_GraphState.SetMiterLimit(pObject->GetNumber());
+        mutable_graph_state().SetMiterLimit(pObject->GetNumber());
         break;
       case FXBSTR_ID('D', 0, 0, 0): {
         const CPDF_Array* pDash = pObject->AsArray();
@@ -79,15 +79,16 @@
         break;
       }
       case FXBSTR_ID('R', 'I', 0, 0):
-        m_GeneralState.SetRenderIntent(pObject->GetString());
+        mutable_general_state().SetRenderIntent(pObject->GetString());
         break;
       case FXBSTR_ID('F', 'o', 'n', 't'): {
         const CPDF_Array* pFont = pObject->AsArray();
         if (!pFont)
           break;
 
-        m_TextState.SetFontSize(pFont->GetFloatAt(1));
-        m_TextState.SetFont(pParser->FindFont(pFont->GetByteStringAt(0)));
+        mutable_text_state().SetFontSize(pFont->GetFloatAt(1));
+        mutable_text_state().SetFont(
+            pParser->FindFont(pFont->GetByteStringAt(0)));
         break;
       }
       case FXBSTR_ID('T', 'R', 0, 0):
@@ -96,41 +97,44 @@
         }
         [[fallthrough]];
       case FXBSTR_ID('T', 'R', '2', 0):
-        m_GeneralState.SetTR(!pObject->IsName() ? std::move(pObject) : nullptr);
+        mutable_general_state().SetTR(!pObject->IsName() ? std::move(pObject)
+                                                         : nullptr);
         break;
       case FXBSTR_ID('B', 'M', 0, 0): {
         const CPDF_Array* pArray = pObject->AsArray();
-        m_GeneralState.SetBlendMode(pArray ? pArray->GetByteStringAt(0)
-                                           : pObject->GetString());
-        if (m_GeneralState.GetBlendType() > BlendMode::kMultiply)
+        mutable_general_state().SetBlendMode(pArray ? pArray->GetByteStringAt(0)
+                                                    : pObject->GetString());
+        if (general_state().GetBlendType() > BlendMode::kMultiply) {
           pParser->GetPageObjectHolder()->SetBackgroundAlphaNeeded(true);
+        }
         break;
       }
       case FXBSTR_ID('S', 'M', 'a', 's'): {
         RetainPtr<CPDF_Dictionary> pMaskDict = ToDictionary(pObject);
-        m_GeneralState.SetSoftMask(pMaskDict);
+        mutable_general_state().SetSoftMask(pMaskDict);
         if (pMaskDict)
-          m_GeneralState.SetSMaskMatrix(pParser->GetCurStates()->m_CTM);
+          mutable_general_state().SetSMaskMatrix(
+              pParser->GetCurStates()->m_CTM);
         break;
       }
       case FXBSTR_ID('C', 'A', 0, 0):
-        m_GeneralState.SetStrokeAlpha(
+        mutable_general_state().SetStrokeAlpha(
             std::clamp(pObject->GetNumber(), 0.0f, 1.0f));
         break;
       case FXBSTR_ID('c', 'a', 0, 0):
-        m_GeneralState.SetFillAlpha(
+        mutable_general_state().SetFillAlpha(
             std::clamp(pObject->GetNumber(), 0.0f, 1.0f));
         break;
       case FXBSTR_ID('O', 'P', 0, 0):
-        m_GeneralState.SetStrokeOP(!!pObject->GetInteger());
+        mutable_general_state().SetStrokeOP(!!pObject->GetInteger());
         if (!pGS->KeyExist("op"))
-          m_GeneralState.SetFillOP(!!pObject->GetInteger());
+          mutable_general_state().SetFillOP(!!pObject->GetInteger());
         break;
       case FXBSTR_ID('o', 'p', 0, 0):
-        m_GeneralState.SetFillOP(!!pObject->GetInteger());
+        mutable_general_state().SetFillOP(!!pObject->GetInteger());
         break;
       case FXBSTR_ID('O', 'P', 'M', 0):
-        m_GeneralState.SetOPMode(pObject->GetInteger());
+        mutable_general_state().SetOPMode(pObject->GetInteger());
         break;
       case FXBSTR_ID('B', 'G', 0, 0):
         if (pGS->KeyExist("BG2")) {
@@ -138,7 +142,7 @@
         }
         [[fallthrough]];
       case FXBSTR_ID('B', 'G', '2', 0):
-        m_GeneralState.SetBG(std::move(pObject));
+        mutable_general_state().SetBG(std::move(pObject));
         break;
       case FXBSTR_ID('U', 'C', 'R', 0):
         if (pGS->KeyExist("UCR2")) {
@@ -146,29 +150,29 @@
         }
         [[fallthrough]];
       case FXBSTR_ID('U', 'C', 'R', '2'):
-        m_GeneralState.SetUCR(std::move(pObject));
+        mutable_general_state().SetUCR(std::move(pObject));
         break;
       case FXBSTR_ID('H', 'T', 0, 0):
-        m_GeneralState.SetHT(std::move(pObject));
+        mutable_general_state().SetHT(std::move(pObject));
         break;
       case FXBSTR_ID('F', 'L', 0, 0):
-        m_GeneralState.SetFlatness(pObject->GetNumber());
+        mutable_general_state().SetFlatness(pObject->GetNumber());
         break;
       case FXBSTR_ID('S', 'M', 0, 0):
-        m_GeneralState.SetSmoothness(pObject->GetNumber());
+        mutable_general_state().SetSmoothness(pObject->GetNumber());
         break;
       case FXBSTR_ID('S', 'A', 0, 0):
-        m_GeneralState.SetStrokeAdjust(!!pObject->GetInteger());
+        mutable_general_state().SetStrokeAdjust(!!pObject->GetInteger());
         break;
       case FXBSTR_ID('A', 'I', 'S', 0):
-        m_GeneralState.SetAlphaSource(!!pObject->GetInteger());
+        mutable_general_state().SetAlphaSource(!!pObject->GetInteger());
         break;
       case FXBSTR_ID('T', 'K', 0, 0):
-        m_GeneralState.SetTextKnockout(!!pObject->GetInteger());
+        mutable_general_state().SetTextKnockout(!!pObject->GetInteger());
         break;
     }
   }
-  m_GeneralState.SetMatrix(m_CTM);
+  mutable_general_state().SetMatrix(m_CTM);
 }
 
 void CPDF_AllStates::ResetTextPosition() {
diff --git a/core/fpdfapi/page/cpdf_contentparser.cpp b/core/fpdfapi/page/cpdf_contentparser.cpp
index 8df2a6c..0cc6bc5 100644
--- a/core/fpdfapi/page/cpdf_contentparser.cpp
+++ b/core/fpdfapi/page/cpdf_contentparser.cpp
@@ -100,15 +100,16 @@
   m_pParser->GetCurStates()->set_current_transformation_matrix(form_matrix);
   m_pParser->GetCurStates()->set_parent_matrix(form_matrix);
   if (ClipPath.HasRef()) {
-    m_pParser->GetCurStates()->m_ClipPath.AppendPathWithAutoMerge(
+    m_pParser->GetCurStates()->mutable_clip_path().AppendPathWithAutoMerge(
         ClipPath, CFX_FillRenderOptions::FillType::kWinding);
   }
   if (m_pPageObjectHolder->GetTransparency().IsGroup()) {
-    CPDF_GeneralState* pState = &m_pParser->GetCurStates()->m_GeneralState;
-    pState->SetBlendType(BlendMode::kNormal);
-    pState->SetStrokeAlpha(1.0f);
-    pState->SetFillAlpha(1.0f);
-    pState->SetSoftMask(nullptr);
+    CPDF_GeneralState& state =
+        m_pParser->GetCurStates()->mutable_general_state();
+    state.SetBlendType(BlendMode::kNormal);
+    state.SetStrokeAlpha(1.0f);
+    state.SetFillAlpha(1.0f);
+    state.SetSoftMask(nullptr);
   }
   m_pSingleStream = pdfium::MakeRetain<CPDF_StreamAcc>(std::move(pStream));
   m_pSingleStream->LoadAllDataFiltered();
@@ -205,7 +206,7 @@
         m_pPageObjectHolder->GetMutablePageResources(), nullptr, nullptr,
         m_pPageObjectHolder, m_pPageObjectHolder->GetMutableResources(),
         m_pPageObjectHolder->GetBBox(), nullptr, &m_RecursionState);
-    m_pParser->GetCurStates()->m_ColorState.SetDefault();
+    m_pParser->GetCurStates()->mutable_color_state().SetDefault();
   }
   if (m_CurrentOffset >= GetData().size())
     return Stage::kCheckClip;
@@ -226,22 +227,27 @@
   }
 
   for (auto& pObj : *m_pPageObjectHolder) {
-    if (!pObj->m_ClipPath.HasRef())
+    CPDF_ClipPath& clip_path = pObj->mutable_clip_path();
+    if (!clip_path.HasRef()) {
       continue;
-    if (pObj->m_ClipPath.GetPathCount() != 1)
+    }
+    if (clip_path.GetPathCount() != 1) {
       continue;
-    if (pObj->m_ClipPath.GetTextCount() > 0)
+    }
+    if (clip_path.GetTextCount() > 0) {
       continue;
+    }
 
-    CPDF_Path ClipPath = pObj->m_ClipPath.GetPath(0);
-    if (!ClipPath.IsRect() || pObj->IsShading())
+    CPDF_Path path = clip_path.GetPath(0);
+    if (!path.IsRect() || pObj->IsShading()) {
       continue;
+    }
 
-    CFX_PointF point0 = ClipPath.GetPoint(0);
-    CFX_PointF point2 = ClipPath.GetPoint(2);
+    CFX_PointF point0 = path.GetPoint(0);
+    CFX_PointF point2 = path.GetPoint(2);
     CFX_FloatRect old_rect(point0.x, point0.y, point2.x, point2.y);
     if (old_rect.Contains(pObj->GetRect()))
-      pObj->m_ClipPath.SetNull();
+      clip_path.SetNull();
   }
   return Stage::kComplete;
 }
diff --git a/core/fpdfapi/page/cpdf_graphicstates.h b/core/fpdfapi/page/cpdf_graphicstates.h
index 9f604c7..e1b35d7 100644
--- a/core/fpdfapi/page/cpdf_graphicstates.h
+++ b/core/fpdfapi/page/cpdf_graphicstates.h
@@ -21,6 +21,22 @@
   void CopyStates(const CPDF_GraphicStates& src);
   void DefaultStates();
 
+  const CPDF_ClipPath& clip_path() const { return m_ClipPath; }
+  CPDF_ClipPath& mutable_clip_path() { return m_ClipPath; }
+
+  const CFX_GraphState& graph_state() const { return m_GraphState; }
+  CFX_GraphState& mutable_graph_state() { return m_GraphState; }
+
+  const CPDF_ColorState& color_state() const { return m_ColorState; }
+  CPDF_ColorState& mutable_color_state() { return m_ColorState; }
+
+  const CPDF_TextState& text_state() const { return m_TextState; }
+  CPDF_TextState& mutable_text_state() { return m_TextState; }
+
+  const CPDF_GeneralState& general_state() const { return m_GeneralState; }
+  CPDF_GeneralState& mutable_general_state() { return m_GeneralState; }
+
+ private:
   CPDF_ClipPath m_ClipPath;
   CFX_GraphState m_GraphState;
   CPDF_ColorState m_ColorState;
diff --git a/core/fpdfapi/page/cpdf_pageobject.cpp b/core/fpdfapi/page/cpdf_pageobject.cpp
index abc896f..68f2bcd 100644
--- a/core/fpdfapi/page/cpdf_pageobject.cpp
+++ b/core/fpdfapi/page/cpdf_pageobject.cpp
@@ -77,7 +77,7 @@
 
 pdfium::span<const ByteString> CPDF_PageObject::GetGraphicsResourceNames()
     const {
-  return m_GeneralState.GetGraphicsResourceNames();
+  return general_state().GetGraphicsResourceNames();
 }
 
 void CPDF_PageObject::CopyData(const CPDF_PageObject* pSrc) {
@@ -87,16 +87,20 @@
 }
 
 void CPDF_PageObject::TransformClipPath(const CFX_Matrix& matrix) {
-  if (!m_ClipPath.HasRef())
+  CPDF_ClipPath& clip_path = mutable_clip_path();
+  if (!clip_path.HasRef()) {
     return;
-  m_ClipPath.Transform(matrix);
+  }
+  clip_path.Transform(matrix);
   SetDirty(true);
 }
 
 void CPDF_PageObject::TransformGeneralState(const CFX_Matrix& matrix) {
-  if (!m_GeneralState.HasRef())
+  CPDF_GeneralState& general_state = mutable_general_state();
+  if (!general_state.HasRef()) {
     return;
-  m_GeneralState.GetMutableMatrix()->Concat(matrix);
+  }
+  general_state.GetMutableMatrix()->Concat(matrix);
   SetDirty(true);
 }
 
diff --git a/core/fpdfapi/page/cpdf_pathobject.cpp b/core/fpdfapi/page/cpdf_pathobject.cpp
index b5e7469..82d50c7 100644
--- a/core/fpdfapi/page/cpdf_pathobject.cpp
+++ b/core/fpdfapi/page/cpdf_pathobject.cpp
@@ -39,10 +39,10 @@
   if (!m_Path.HasRef())
     return;
   CFX_FloatRect rect;
-  float width = m_GraphState.GetLineWidth();
+  float width = graph_state().GetLineWidth();
   if (m_bStroke && width != 0) {
-    rect =
-        m_Path.GetBoundingBoxForStrokePath(width, m_GraphState.GetMiterLimit());
+    rect = m_Path.GetBoundingBoxForStrokePath(width,
+                                              graph_state().GetMiterLimit());
   } else {
     rect = m_Path.GetBoundingBox();
   }
diff --git a/core/fpdfapi/page/cpdf_shadingobject.cpp b/core/fpdfapi/page/cpdf_shadingobject.cpp
index 06d43aa..8dbaa32 100644
--- a/core/fpdfapi/page/cpdf_shadingobject.cpp
+++ b/core/fpdfapi/page/cpdf_shadingobject.cpp
@@ -24,14 +24,17 @@
 }
 
 void CPDF_ShadingObject::Transform(const CFX_Matrix& matrix) {
-  if (m_ClipPath.HasRef())
-    m_ClipPath.Transform(matrix);
+  CPDF_ClipPath& clip_path = mutable_clip_path();
+  if (clip_path.HasRef()) {
+    clip_path.Transform(matrix);
+  }
 
   m_Matrix.Concat(matrix);
-  if (m_ClipPath.HasRef())
+  if (clip_path.HasRef()) {
     CalcBoundingBox();
-  else
+  } else {
     SetRect(matrix.TransformRect(GetRect()));
+  }
   SetDirty(true);
 }
 
@@ -48,7 +51,8 @@
 }
 
 void CPDF_ShadingObject::CalcBoundingBox() {
-  if (!m_ClipPath.HasRef())
+  if (!clip_path().HasRef()) {
     return;
-  SetRect(m_ClipPath.GetClipBox());
+  }
+  SetRect(clip_path().GetClipBox());
 }
diff --git a/core/fpdfapi/page/cpdf_streamcontentparser.cpp b/core/fpdfapi/page/cpdf_streamcontentparser.cpp
index d49ecee..343b696 100644
--- a/core/fpdfapi/page/cpdf_streamcontentparser.cpp
+++ b/core/fpdfapi/page/cpdf_streamcontentparser.cpp
@@ -399,10 +399,10 @@
   if (pStates) {
     m_pCurStates->Copy(*pStates);
   } else {
-    m_pCurStates->m_GeneralState.Emplace();
-    m_pCurStates->m_GraphState.Emplace();
-    m_pCurStates->m_TextState.Emplace();
-    m_pCurStates->m_ColorState.Emplace();
+    m_pCurStates->mutable_general_state().Emplace();
+    m_pCurStates->mutable_graph_state().Emplace();
+    m_pCurStates->mutable_text_state().Emplace();
+    m_pCurStates->mutable_color_state().Emplace();
   }
 
   // Add the sentinel.
@@ -547,17 +547,17 @@
                                                 bool bColor,
                                                 bool bText,
                                                 bool bGraph) {
-  pObj->m_GeneralState = m_pCurStates->m_GeneralState;
-  pObj->m_ClipPath = m_pCurStates->m_ClipPath;
+  pObj->mutable_general_state() = m_pCurStates->general_state();
+  pObj->mutable_clip_path() = m_pCurStates->clip_path();
   pObj->SetContentMarks(*m_ContentMarksStack.top());
   if (bColor) {
-    pObj->m_ColorState = m_pCurStates->m_ColorState;
+    pObj->mutable_color_state() = m_pCurStates->color_state();
   }
   if (bGraph) {
-    pObj->m_GraphState = m_pCurStates->m_GraphState;
+    pObj->mutable_graph_state() = m_pCurStates->graph_state();
   }
   if (bText) {
-    pObj->m_TextState = m_pCurStates->m_TextState;
+    pObj->mutable_text_state() = m_pCurStates->text_state();
   }
 }
 
@@ -696,7 +696,7 @@
   if (!pCS)
     return;
 
-  m_pCurStates->m_ColorState.GetMutableFillColor()->SetColorSpace(
+  m_pCurStates->mutable_color_state().GetMutableFillColor()->SetColorSpace(
       std::move(pCS));
 }
 
@@ -705,7 +705,7 @@
   if (!pCS)
     return;
 
-  m_pCurStates->m_ColorState.GetMutableStrokeColor()->SetColorSpace(
+  m_pCurStates->mutable_color_state().GetMutableStrokeColor()->SetColorSpace(
       std::move(pCS));
 }
 
@@ -782,10 +782,10 @@
 void CPDF_StreamContentParser::AddForm(RetainPtr<CPDF_Stream> pStream,
                                        const ByteString& name) {
   CPDF_AllStates status;
-  status.m_GeneralState = m_pCurStates->m_GeneralState;
-  status.m_GraphState = m_pCurStates->m_GraphState;
-  status.m_ColorState = m_pCurStates->m_ColorState;
-  status.m_TextState = m_pCurStates->m_TextState;
+  status.mutable_general_state() = m_pCurStates->general_state();
+  status.mutable_graph_state() = m_pCurStates->graph_state();
+  status.mutable_color_state() = m_pCurStates->color_state();
+  status.mutable_text_state() = m_pCurStates->text_state();
   auto form = std::make_unique<CPDF_Form>(
       m_pDocument, m_pPageResources, std::move(pStream), m_pResources.Get());
   form->ParseContent(&status, nullptr, m_RecursionState);
@@ -883,8 +883,9 @@
   if (m_ClipTextList.empty())
     return;
 
-  if (TextRenderingModeIsClipMode(m_pCurStates->m_TextState.GetTextMode()))
-    m_pCurStates->m_ClipPath.AppendTexts(&m_ClipTextList);
+  if (TextRenderingModeIsClipMode(m_pCurStates->text_state().GetTextMode())) {
+    m_pCurStates->mutable_clip_path().AppendTexts(&m_ClipTextList);
+  }
 
   m_ClipTextList.clear();
 }
@@ -902,13 +903,13 @@
 }
 
 void CPDF_StreamContentParser::Handle_SetGray_Fill() {
-  m_pCurStates->m_ColorState.SetFillColor(
+  m_pCurStates->mutable_color_state().SetFillColor(
       CPDF_ColorSpace::GetStockCS(CPDF_ColorSpace::Family::kDeviceGray),
       GetNumbers(1));
 }
 
 void CPDF_StreamContentParser::Handle_SetGray_Stroke() {
-  m_pCurStates->m_ColorState.SetStrokeColor(
+  m_pCurStates->mutable_color_state().SetStrokeColor(
       CPDF_ColorSpace::GetStockCS(CPDF_ColorSpace::Family::kDeviceGray),
       GetNumbers(1));
 }
@@ -921,7 +922,8 @@
     return;
 
   CHECK(!name.IsEmpty());
-  m_pCurStates->m_GeneralState.AppendGraphicsResourceName(std::move(name));
+  m_pCurStates->mutable_general_state().AppendGraphicsResourceName(
+      std::move(name));
   m_pCurStates->ProcessExtGS(pGS.Get(), this);
 }
 
@@ -937,18 +939,18 @@
 }
 
 void CPDF_StreamContentParser::Handle_SetFlat() {
-  m_pCurStates->m_GeneralState.SetFlatness(GetNumber(0));
+  m_pCurStates->mutable_general_state().SetFlatness(GetNumber(0));
 }
 
 void CPDF_StreamContentParser::Handle_BeginImageData() {}
 
 void CPDF_StreamContentParser::Handle_SetLineJoin() {
-  m_pCurStates->m_GraphState.SetLineJoin(
+  m_pCurStates->mutable_graph_state().SetLineJoin(
       static_cast<CFX_GraphStateData::LineJoin>(GetInteger(0)));
 }
 
 void CPDF_StreamContentParser::Handle_SetLineCap() {
-  m_pCurStates->m_GraphState.SetLineCap(
+  m_pCurStates->mutable_graph_state().SetLineCap(
       static_cast<CFX_GraphStateData::LineCap>(GetInteger(0)));
 }
 
@@ -956,7 +958,7 @@
   if (m_ParamCount != 4)
     return;
 
-  m_pCurStates->m_ColorState.SetFillColor(
+  m_pCurStates->mutable_color_state().SetFillColor(
       CPDF_ColorSpace::GetStockCS(CPDF_ColorSpace::Family::kDeviceCMYK),
       GetNumbers(4));
 }
@@ -965,7 +967,7 @@
   if (m_ParamCount != 4)
     return;
 
-  m_pCurStates->m_ColorState.SetStrokeColor(
+  m_pCurStates->mutable_color_state().SetStrokeColor(
       CPDF_ColorSpace::GetStockCS(CPDF_ColorSpace::Family::kDeviceCMYK),
       GetNumbers(4));
 }
@@ -986,7 +988,7 @@
 }
 
 void CPDF_StreamContentParser::Handle_SetMiterLimit() {
-  m_pCurStates->m_GraphState.SetMiterLimit(GetNumber(0));
+  m_pCurStates->mutable_graph_state().SetMiterLimit(GetNumber(0));
 }
 
 void CPDF_StreamContentParser::Handle_MarkPlace() {}
@@ -1029,7 +1031,7 @@
   if (m_ParamCount != 3)
     return;
 
-  m_pCurStates->m_ColorState.SetFillColor(
+  m_pCurStates->mutable_color_state().SetFillColor(
       CPDF_ColorSpace::GetStockCS(CPDF_ColorSpace::Family::kDeviceRGB),
       GetNumbers(3));
 }
@@ -1038,7 +1040,7 @@
   if (m_ParamCount != 3)
     return;
 
-  m_pCurStates->m_ColorState.SetStrokeColor(
+  m_pCurStates->mutable_color_state().SetStrokeColor(
       CPDF_ColorSpace::GetStockCS(CPDF_ColorSpace::Family::kDeviceRGB),
       GetNumbers(3));
 }
@@ -1056,12 +1058,13 @@
 
 void CPDF_StreamContentParser::Handle_SetColor_Fill() {
   int nargs = std::min(m_ParamCount, 4U);
-  m_pCurStates->m_ColorState.SetFillColor(nullptr, GetNumbers(nargs));
+  m_pCurStates->mutable_color_state().SetFillColor(nullptr, GetNumbers(nargs));
 }
 
 void CPDF_StreamContentParser::Handle_SetColor_Stroke() {
   int nargs = std::min(m_ParamCount, 4U);
-  m_pCurStates->m_ColorState.SetStrokeColor(nullptr, GetNumbers(nargs));
+  m_pCurStates->mutable_color_state().SetStrokeColor(nullptr,
+                                                     GetNumbers(nargs));
 }
 
 void CPDF_StreamContentParser::Handle_SetColorPS_Fill() {
@@ -1070,7 +1073,7 @@
     return;
 
   if (!pLastParam->IsName()) {
-    m_pCurStates->m_ColorState.SetFillColor(nullptr, GetColors());
+    m_pCurStates->mutable_color_state().SetFillColor(nullptr, GetColors());
     return;
   }
 
@@ -1081,7 +1084,8 @@
     return;
 
   std::vector<float> values = GetNamedColors();
-  m_pCurStates->m_ColorState.SetFillPattern(std::move(pPattern), values);
+  m_pCurStates->mutable_color_state().SetFillPattern(std::move(pPattern),
+                                                     values);
 }
 
 void CPDF_StreamContentParser::Handle_SetColorPS_Stroke() {
@@ -1090,7 +1094,7 @@
     return;
 
   if (!pLastParam->IsName()) {
-    m_pCurStates->m_ColorState.SetStrokeColor(nullptr, GetColors());
+    m_pCurStates->mutable_color_state().SetStrokeColor(nullptr, GetColors());
     return;
   }
 
@@ -1101,7 +1105,8 @@
     return;
 
   std::vector<float> values = GetNamedColors();
-  m_pCurStates->m_ColorState.SetStrokePattern(std::move(pPattern), values);
+  m_pCurStates->mutable_color_state().SetStrokePattern(std::move(pPattern),
+                                                       values);
 }
 
 void CPDF_StreamContentParser::Handle_ShadeFill() {
@@ -1118,7 +1123,7 @@
                                                    pShading, matrix);
   SetGraphicStates(pObj.get(), false, false, false);
   CFX_FloatRect bbox =
-      pObj->m_ClipPath.HasRef() ? pObj->m_ClipPath.GetClipBox() : m_BBox;
+      pObj->clip_path().HasRef() ? pObj->clip_path().GetClipBox() : m_BBox;
   if (pShading->IsMeshShading())
     bbox.Intersect(GetShadingBBox(pShading.Get(), pObj->matrix()));
   pObj->SetRect(bbox);
@@ -1126,7 +1131,7 @@
 }
 
 void CPDF_StreamContentParser::Handle_SetCharSpace() {
-  m_pCurStates->m_TextState.SetCharSpace(GetNumber(0));
+  m_pCurStates->mutable_text_state().SetCharSpace(GetNumber(0));
 }
 
 void CPDF_StreamContentParser::Handle_MoveTextPoint() {
@@ -1139,10 +1144,10 @@
 }
 
 void CPDF_StreamContentParser::Handle_SetFont() {
-  m_pCurStates->m_TextState.SetFontSize(GetNumber(0));
+  m_pCurStates->mutable_text_state().SetFontSize(GetNumber(0));
   RetainPtr<CPDF_Font> pFont = FindFont(GetString(1));
   if (pFont)
-    m_pCurStates->m_TextState.SetFont(std::move(pFont));
+    m_pCurStates->mutable_text_state().SetFont(std::move(pFont));
 }
 
 RetainPtr<CPDF_Dictionary> CPDF_StreamContentParser::FindResourceHolder(
@@ -1240,7 +1245,7 @@
                                              float fInitKerning,
                                              const std::vector<float>& kernings,
                                              size_t nSegs) {
-  RetainPtr<CPDF_Font> pFont = m_pCurStates->m_TextState.GetFont();
+  RetainPtr<CPDF_Font> pFont = m_pCurStates->text_state().GetFont();
   if (!pFont)
     return;
 
@@ -1256,14 +1261,15 @@
 
   const TextRenderingMode text_mode =
       pFont->IsType3Font() ? TextRenderingMode::MODE_FILL
-                           : m_pCurStates->m_TextState.GetTextMode();
+                           : m_pCurStates->text_state().GetTextMode();
   {
     auto pText = std::make_unique<CPDF_TextObject>(GetCurrentStreamIndex());
     pText->SetResourceName(pFont->GetResourceName());
     SetGraphicStates(pText.get(), true, true, true);
     if (TextRenderingModeIsStrokeMode(text_mode)) {
       const CFX_Matrix& ctm = m_pCurStates->current_transformation_matrix();
-      pdfium::span<float> text_ctm = pText->m_TextState.GetMutableCTM();
+      pdfium::span<float> text_ctm =
+          pText->mutable_text_state().GetMutableCTM();
       text_ctm[0] = ctm.a;
       text_ctm[1] = ctm.c;
       text_ctm[2] = ctm.b;
@@ -1296,7 +1302,7 @@
 }
 
 float CPDF_StreamContentParser::GetVerticalTextSize(float fKerning) const {
-  return fKerning * m_pCurStates->m_TextState.GetFontSize() / 1000;
+  return fKerning * m_pCurStates->text_state().GetFontSize() / 1000;
 }
 
 int32_t CPDF_StreamContentParser::GetCurrentStreamIndex() {
@@ -1375,7 +1381,7 @@
   text_matrix.Concat(m_pCurStates->current_transformation_matrix());
   text_matrix.Concat(m_mtContentToUser);
   pdfium::span<float> pTextMatrix =
-      m_pCurStates->m_TextState.GetMutableMatrix();
+      m_pCurStates->mutable_text_state().GetMutableMatrix();
   pTextMatrix[0] = text_matrix.a;
   pTextMatrix[1] = text_matrix.c;
   pTextMatrix[2] = text_matrix.b;
@@ -1385,7 +1391,7 @@
 void CPDF_StreamContentParser::Handle_SetTextRenderMode() {
   TextRenderingMode mode;
   if (SetTextRenderingModeFromInt(GetInteger(0), &mode))
-    m_pCurStates->m_TextState.SetTextMode(mode);
+    m_pCurStates->mutable_text_state().SetTextMode(mode);
 }
 
 void CPDF_StreamContentParser::Handle_SetTextRise() {
@@ -1393,7 +1399,7 @@
 }
 
 void CPDF_StreamContentParser::Handle_SetWordSpace() {
-  m_pCurStates->m_TextState.SetWordSpace(GetNumber(0));
+  m_pCurStates->mutable_text_state().SetWordSpace(GetNumber(0));
 }
 
 void CPDF_StreamContentParser::Handle_SetHorzScale() {
@@ -1415,7 +1421,7 @@
 }
 
 void CPDF_StreamContentParser::Handle_SetLineWidth() {
-  m_pCurStates->m_GraphState.SetLineWidth(GetNumber(0));
+  m_pCurStates->mutable_graph_state().SetLineWidth(GetNumber(0));
 }
 
 void CPDF_StreamContentParser::Handle_Clip() {
@@ -1438,8 +1444,8 @@
 }
 
 void CPDF_StreamContentParser::Handle_NextLineShowText_Space() {
-  m_pCurStates->m_TextState.SetWordSpace(GetNumber(2));
-  m_pCurStates->m_TextState.SetCharSpace(GetNumber(1));
+  m_pCurStates->mutable_text_state().SetWordSpace(GetNumber(2));
+  m_pCurStates->mutable_text_state().SetCharSpace(GetNumber(1));
   Handle_NextLineShowText();
 }
 
@@ -1494,14 +1500,14 @@
     if (path_clip_type != CFX_FillRenderOptions::FillType::kNoFill) {
       CPDF_Path path;
       path.AppendRect(0, 0, 0, 0);
-      m_pCurStates->m_ClipPath.AppendPathWithAutoMerge(
+      m_pCurStates->mutable_clip_path().AppendPathWithAutoMerge(
           path, CFX_FillRenderOptions::FillType::kWinding);
       return;
     }
 
     CFX_Path::Point& point = path_points.front();
     if (point.m_Type != CFX_Path::Point::Type::kMove || !point.m_CloseFigure ||
-        m_pCurStates->m_GraphState.GetLineCap() !=
+        m_pCurStates->graph_state().GetLineCap() !=
             CFX_GraphStateData::LineCap::kRound) {
       return;
     }
@@ -1541,7 +1547,8 @@
   if (path_clip_type != CFX_FillRenderOptions::FillType::kNoFill) {
     if (!matrix.IsIdentity())
       path.Transform(matrix);
-    m_pCurStates->m_ClipPath.AppendPathWithAutoMerge(path, path_clip_type);
+    m_pCurStates->mutable_clip_path().AppendPathWithAutoMerge(path,
+                                                              path_clip_type);
   }
 }
 
diff --git a/core/fpdfapi/page/cpdf_textobject.cpp b/core/fpdfapi/page/cpdf_textobject.cpp
index 087883e..c2265f6 100644
--- a/core/fpdfapi/page/cpdf_textobject.cpp
+++ b/core/fpdfapi/page/cpdf_textobject.cpp
@@ -178,13 +178,13 @@
 }
 
 CFX_Matrix CPDF_TextObject::GetTextMatrix() const {
-  pdfium::span<const float> pTextMatrix = m_TextState.GetMatrix();
+  pdfium::span<const float> pTextMatrix = text_state().GetMatrix();
   return CFX_Matrix(pTextMatrix[0], pTextMatrix[2], pTextMatrix[1],
                     pTextMatrix[3], m_Pos.x, m_Pos.y);
 }
 
 void CPDF_TextObject::SetTextMatrix(const CFX_Matrix& matrix) {
-  pdfium::span<float> pTextMatrix = m_TextState.GetMutableMatrix();
+  pdfium::span<float> pTextMatrix = mutable_text_state().GetMutableMatrix();
   pTextMatrix[0] = matrix.a;
   pTextMatrix[1] = matrix.c;
   pTextMatrix[2] = matrix.b;
@@ -240,19 +240,19 @@
 }
 
 RetainPtr<CPDF_Font> CPDF_TextObject::GetFont() const {
-  return m_TextState.GetFont();
+  return text_state().GetFont();
 }
 
 float CPDF_TextObject::GetFontSize() const {
-  return m_TextState.GetFontSize();
+  return text_state().GetFontSize();
 }
 
 TextRenderingMode CPDF_TextObject::GetTextRenderMode() const {
-  return m_TextState.GetTextMode();
+  return text_state().GetTextMode();
 }
 
 void CPDF_TextObject::SetTextRenderMode(TextRenderingMode mode) {
-  m_TextState.SetTextMode(mode);
+  mutable_text_state().SetTextMode(mode);
   SetDirty(true);
 }
 
@@ -313,9 +313,9 @@
     }
     curpos += charwidth;
     if (charcode == ' ' && (!pCIDFont || pCIDFont->GetCharSize(' ') == 1))
-      curpos += m_TextState.GetWordSpace();
+      curpos += text_state().GetWordSpace();
 
-    curpos += m_TextState.GetCharSpace();
+    curpos += text_state().GetCharSpace();
   }
 
   if (bVertWriting) {
@@ -328,10 +328,10 @@
 
   SetOriginalRect(CFX_FloatRect(min_x, min_y, max_x, max_y));
   CFX_FloatRect rect = GetTextMatrix().TransformRect(GetOriginalRect());
-  if (TextRenderingModeIsStrokeMode(m_TextState.GetTextMode())) {
+  if (TextRenderingModeIsStrokeMode(text_state().GetTextMode())) {
     // TODO(crbug.com/pdfium/1840): Does the original rect need a similar
     // adjustment?
-    const float half_width = m_GraphState.GetLineWidth() / 2;
+    const float half_width = graph_state().GetLineWidth() / 2;
     rect.Inflate(half_width, half_width);
   }
   SetRect(rect);
diff --git a/core/fpdfapi/page/cpdf_tilingpattern.cpp b/core/fpdfapi/page/cpdf_tilingpattern.cpp
index d7b2fd3..adc6ccd 100644
--- a/core/fpdfapi/page/cpdf_tilingpattern.cpp
+++ b/core/fpdfapi/page/cpdf_tilingpattern.cpp
@@ -47,12 +47,12 @@
   auto form =
       std::make_unique<CPDF_Form>(document(), nullptr, std::move(pStream));
 
-  CPDF_AllStates allStates;
-  allStates.m_ColorState.Emplace();
-  allStates.m_GraphState.Emplace();
-  allStates.m_TextState.Emplace();
-  allStates.m_GeneralState = pPageObj->m_GeneralState;
-  form->ParseContent(&allStates, &matrix, nullptr);
+  CPDF_AllStates all_states;
+  all_states.mutable_color_state().Emplace();
+  all_states.mutable_graph_state().Emplace();
+  all_states.mutable_text_state().Emplace();
+  all_states.mutable_general_state() = pPageObj->general_state();
+  form->ParseContent(&all_states, &matrix, nullptr);
   m_BBox = pDict->GetRectFor("BBox");
   return form;
 }
diff --git a/core/fpdfapi/render/cpdf_imagerenderer.cpp b/core/fpdfapi/render/cpdf_imagerenderer.cpp
index a5a2652..07d50ed 100644
--- a/core/fpdfapi/render/cpdf_imagerenderer.cpp
+++ b/core/fpdfapi/render/cpdf_imagerenderer.cpp
@@ -91,7 +91,7 @@
   if (!m_pLoader->GetBitmap())
     return false;
 
-  CPDF_GeneralState& state = m_pImageObject->m_GeneralState;
+  CPDF_GeneralState& state = m_pImageObject->mutable_general_state();
   m_BitmapAlpha = FXSYS_roundf(255 * state.GetFillAlpha());
   m_pDIBBase = m_pLoader->GetBitmap();
   if (GetRenderOptions().ColorModeIs(CPDF_RenderOptions::kAlpha) &&
@@ -110,7 +110,7 @@
   m_bPatternColor = false;
   m_pPattern = nullptr;
   if (m_pDIBBase->IsMaskFormat()) {
-    const CPDF_Color* pColor = m_pImageObject->m_ColorState.GetFillColor();
+    const CPDF_Color* pColor = m_pImageObject->color_state().GetFillColor();
     if (pColor && pColor->IsPattern()) {
       m_pPattern = pColor->GetPattern();
       if (m_pPattern)
diff --git a/core/fpdfapi/render/cpdf_progressiverenderer.cpp b/core/fpdfapi/render/cpdf_progressiverenderer.cpp
index c29077a..77823b0 100644
--- a/core/fpdfapi/render/cpdf_progressiverenderer.cpp
+++ b/core/fpdfapi/render/cpdf_progressiverenderer.cpp
@@ -79,7 +79,7 @@
             pCurObj->AsImage()->GetImage()->IsMask()) {
           if (m_pDevice->GetDeviceType() == DeviceType::kPrinter) {
             m_LastObjectRendered = iter;
-            m_pRenderStatus->ProcessClipPath(pCurObj->m_ClipPath,
+            m_pRenderStatus->ProcessClipPath(pCurObj->clip_path(),
                                              m_pCurrentLayer->GetMatrix());
             return;
           }
diff --git a/core/fpdfapi/render/cpdf_renderstatus.cpp b/core/fpdfapi/render/cpdf_renderstatus.cpp
index 2da1ed2..8da0af6 100644
--- a/core/fpdfapi/render/cpdf_renderstatus.cpp
+++ b/core/fpdfapi/render/cpdf_renderstatus.cpp
@@ -91,7 +91,7 @@
   if (options.bNoPathSmooth) {
     fill_options.aliased_path = true;
   }
-  if (path_obj->m_GeneralState.GetStrokeAdjust()) {
+  if (path_obj->general_state().GetStrokeAdjust()) {
     fill_options.adjust_stroke = true;
   }
   if (is_stroke) {
@@ -114,7 +114,7 @@
     fill_options.stroke = true;
     fill_options.stroke_text_mode = true;
   }
-  if (text_obj->m_GeneralState.GetStrokeAdjust()) {
+  if (text_obj->general_state().GetStrokeAdjust()) {
     fill_options.adjust_stroke = true;
   }
   if (options.bNoTextSmooth) {
@@ -180,17 +180,17 @@
   if (pInitialStates && !m_pType3Char) {
     m_InitialStates.CopyStates(*pInitialStates);
     if (pParentStatus) {
-      if (!m_InitialStates.m_ColorState.HasFillColor()) {
-        m_InitialStates.m_ColorState.SetFillColorRef(
-            pParentStatus->m_InitialStates.m_ColorState.GetFillColorRef());
-        *m_InitialStates.m_ColorState.GetMutableFillColor() =
-            *pParentStatus->m_InitialStates.m_ColorState.GetFillColor();
+      if (!m_InitialStates.color_state().HasFillColor()) {
+        m_InitialStates.mutable_color_state().SetFillColorRef(
+            pParentStatus->m_InitialStates.color_state().GetFillColorRef());
+        *m_InitialStates.mutable_color_state().GetMutableFillColor() =
+            *pParentStatus->m_InitialStates.color_state().GetFillColor();
       }
-      if (!m_InitialStates.m_ColorState.HasStrokeColor()) {
-        m_InitialStates.m_ColorState.SetStrokeColorRef(
-            pParentStatus->m_InitialStates.m_ColorState.GetFillColorRef());
-        *m_InitialStates.m_ColorState.GetMutableStrokeColor() =
-            *pParentStatus->m_InitialStates.m_ColorState.GetStrokeColor();
+      if (!m_InitialStates.color_state().HasStrokeColor()) {
+        m_InitialStates.mutable_color_state().SetStrokeColorRef(
+            pParentStatus->m_InitialStates.color_state().GetFillColorRef());
+        *m_InitialStates.mutable_color_state().GetMutableStrokeColor() =
+            *pParentStatus->m_InitialStates.color_state().GetStrokeColor();
       }
     }
   } else {
@@ -233,7 +233,7 @@
   if (!m_Options.CheckPageObjectVisible(pObj)) {
     return;
   }
-  ProcessClipPath(pObj->m_ClipPath, mtObj2Device);
+  ProcessClipPath(pObj->clip_path(), mtObj2Device);
   if (ProcessTransparency(pObj, mtObj2Device)) {
     return;
   }
@@ -257,7 +257,7 @@
   if (!m_Options.CheckPageObjectVisible(pObj))
     return false;
 
-  ProcessClipPath(pObj->m_ClipPath, mtObj2Device);
+  ProcessClipPath(pObj->clip_path(), mtObj2Device);
   if (ProcessTransparency(pObj, mtObj2Device))
     return false;
 
@@ -404,7 +404,7 @@
 
   return m_pDevice->DrawPathWithBlend(
       *path_obj->path().GetObject(), &path_matrix,
-      path_obj->m_GraphState.GetObject(), fill_argb, stroke_argb,
+      path_obj->graph_state().GetObject(), fill_argb, stroke_argb,
       GetFillOptionsForDrawPathWithBlend(options, path_obj, fill_type, stroke,
                                          m_pType3Char),
       m_curBlend);
@@ -418,31 +418,33 @@
 }
 
 FX_ARGB CPDF_RenderStatus::GetFillArgb(CPDF_PageObject* pObj) const {
-  if (Type3CharMissingFillColor(m_pType3Char, &pObj->m_ColorState))
+  if (Type3CharMissingFillColor(m_pType3Char, &pObj->color_state())) {
     return m_T3FillColor;
+  }
 
   return GetFillArgbForType3(pObj);
 }
 
 FX_ARGB CPDF_RenderStatus::GetFillArgbForType3(CPDF_PageObject* pObj) const {
-  const CPDF_ColorState* pColorState = &pObj->m_ColorState;
+  const CPDF_ColorState* pColorState = &pObj->color_state();
   if (MissingFillColor(pColorState))
-    pColorState = &m_InitialStates.m_ColorState;
+    pColorState = &m_InitialStates.color_state();
 
   FX_COLORREF colorref = pColorState->GetFillColorRef();
   if (colorref == 0xFFFFFFFF)
     return 0;
 
   int32_t alpha =
-      static_cast<int32_t>((pObj->m_GeneralState.GetFillAlpha() * 255));
-  RetainPtr<const CPDF_Object> pTR = pObj->m_GeneralState.GetTR();
+      static_cast<int32_t>((pObj->general_state().GetFillAlpha() * 255));
+  RetainPtr<const CPDF_Object> pTR = pObj->general_state().GetTR();
   if (pTR) {
-    if (!pObj->m_GeneralState.GetTransferFunc()) {
-      pObj->m_GeneralState.SetTransferFunc(GetTransferFunc(std::move(pTR)));
+    if (!pObj->general_state().GetTransferFunc()) {
+      pObj->mutable_general_state().SetTransferFunc(
+          GetTransferFunc(std::move(pTR)));
     }
-    if (pObj->m_GeneralState.GetTransferFunc()) {
+    if (pObj->general_state().GetTransferFunc()) {
       colorref =
-          pObj->m_GeneralState.GetTransferFunc()->TranslateColor(colorref);
+          pObj->general_state().GetTransferFunc()->TranslateColor(colorref);
     }
   }
   return m_Options.TranslateObjectColor(AlphaAndColorRefToArgb(alpha, colorref),
@@ -451,27 +453,28 @@
 }
 
 FX_ARGB CPDF_RenderStatus::GetStrokeArgb(CPDF_PageObject* pObj) const {
-  const CPDF_ColorState* pColorState = &pObj->m_ColorState;
+  const CPDF_ColorState* pColorState = &pObj->color_state();
   if (Type3CharMissingStrokeColor(m_pType3Char, pColorState))
     return m_T3FillColor;
 
   if (MissingStrokeColor(pColorState))
-    pColorState = &m_InitialStates.m_ColorState;
+    pColorState = &m_InitialStates.color_state();
 
   FX_COLORREF colorref = pColorState->GetStrokeColorRef();
   if (colorref == 0xFFFFFFFF)
     return 0;
 
-  int32_t alpha = static_cast<int32_t>(pObj->m_GeneralState.GetStrokeAlpha() *
+  int32_t alpha = static_cast<int32_t>(pObj->general_state().GetStrokeAlpha() *
                                        255);  // not rounded.
-  RetainPtr<const CPDF_Object> pTR = pObj->m_GeneralState.GetTR();
+  RetainPtr<const CPDF_Object> pTR = pObj->general_state().GetTR();
   if (pTR) {
-    if (!pObj->m_GeneralState.GetTransferFunc()) {
-      pObj->m_GeneralState.SetTransferFunc(GetTransferFunc(std::move(pTR)));
+    if (!pObj->general_state().GetTransferFunc()) {
+      pObj->mutable_general_state().SetTransferFunc(
+          GetTransferFunc(std::move(pTR)));
     }
-    if (pObj->m_GeneralState.GetTransferFunc()) {
+    if (pObj->general_state().GetTransferFunc()) {
       colorref =
-          pObj->m_GeneralState.GetTransferFunc()->TranslateColor(colorref);
+          pObj->general_state().GetTransferFunc()->TranslateColor(colorref);
     }
   }
   return m_Options.TranslateObjectColor(
@@ -559,7 +562,7 @@
   if (stroke) {
     return m_pDevice->SetClip_PathStroke(*path_obj->path().GetObject(),
                                          &path_matrix,
-                                         path_obj->m_GraphState.GetObject());
+                                         path_obj->graph_state().GetObject());
   }
   CFX_FillRenderOptions fill_options(path_obj->filltype());
   if (m_Options.GetOptions().bNoPathSmooth) {
@@ -571,9 +574,9 @@
 
 bool CPDF_RenderStatus::ProcessTransparency(CPDF_PageObject* pPageObj,
                                             const CFX_Matrix& mtObj2Device) {
-  const BlendMode blend_type = pPageObj->m_GeneralState.GetBlendType();
+  const BlendMode blend_type = pPageObj->general_state().GetBlendType();
   RetainPtr<CPDF_Dictionary> pSMaskDict =
-      pPageObj->m_GeneralState.GetMutableSoftMask();
+      pPageObj->mutable_general_state().GetMutableSoftMask();
   if (pSMaskDict) {
     if (pPageObj->IsImage() &&
         pPageObj->AsImage()->GetImage()->GetDict()->KeyExist("SMask")) {
@@ -586,14 +589,14 @@
   bool bGroupTransparent = false;
   const CPDF_FormObject* pFormObj = pPageObj->AsForm();
   if (pFormObj) {
-    group_alpha = pFormObj->m_GeneralState.GetFillAlpha();
+    group_alpha = pFormObj->general_state().GetFillAlpha();
     transparency = pFormObj->form()->GetTransparency();
     bGroupTransparent = transparency.IsIsolated();
     pFormResource = pFormObj->form()->GetDict()->GetDictFor("Resources");
   }
   bool bTextClip =
-      (pPageObj->m_ClipPath.HasRef() &&
-       pPageObj->m_ClipPath.GetTextCount() > 0 && !m_bPrint &&
+      (pPageObj->clip_path().HasRef() &&
+       pPageObj->clip_path().GetTextCount() > 0 && !m_bPrint &&
        !(m_pDevice->GetDeviceCaps(FXDC_RENDER_CAPS) & FXRC_SOFT_CLIP));
   if (!pSMaskDict && group_alpha == 1.0f && blend_type == BlendMode::kNormal &&
       !bTextClip && !bGroupTransparent) {
@@ -644,17 +647,17 @@
 
     CFX_DefaultRenderDevice text_device;
     text_device.Attach(pTextMask);
-    for (size_t i = 0; i < pPageObj->m_ClipPath.GetTextCount(); ++i) {
-      CPDF_TextObject* textobj = pPageObj->m_ClipPath.GetText(i);
+    for (size_t i = 0; i < pPageObj->clip_path().GetTextCount(); ++i) {
+      CPDF_TextObject* textobj = pPageObj->clip_path().GetText(i);
       if (!textobj)
         break;
 
       // TODO(thestig): Should we check the return value here?
       CPDF_TextRenderer::DrawTextPath(
           &text_device, textobj->GetCharCodes(), textobj->GetCharPositions(),
-          textobj->m_TextState.GetFont().Get(),
-          textobj->m_TextState.GetFontSize(), textobj->GetTextMatrix(),
-          &new_matrix, textobj->m_GraphState.GetObject(), 0xffffffff, 0,
+          textobj->text_state().GetFont().Get(),
+          textobj->text_state().GetFontSize(), textobj->GetTextMatrix(),
+          &new_matrix, textobj->graph_state().GetObject(), 0xffffffff, 0,
           nullptr, CFX_FillRenderOptions());
     }
   }
@@ -676,7 +679,7 @@
   m_bStopped = bitmap_render.m_bStopped;
   if (pSMaskDict) {
     CFX_Matrix smask_matrix =
-        *pPageObj->m_GeneralState.GetSMaskMatrix() * mtObj2Device;
+        *pPageObj->general_state().GetSMaskMatrix() * mtObj2Device;
     RetainPtr<CFX_DIBBase> pSMaskSource =
         LoadSMask(pSMaskDict.Get(), &rect, smask_matrix);
     if (pSMaskSource)
@@ -753,14 +756,14 @@
   auto pStates = std::make_unique<CPDF_GraphicStates>();
   pStates->CopyStates(*pSrcStates);
   const CPDF_Color* pObjColor = stroke
-                                    ? pSrcStates->m_ColorState.GetStrokeColor()
-                                    : pSrcStates->m_ColorState.GetFillColor();
+                                    ? pSrcStates->color_state().GetStrokeColor()
+                                    : pSrcStates->color_state().GetFillColor();
   if (!pObjColor->IsNull()) {
-    pStates->m_ColorState.SetFillColorRef(
-        stroke ? pSrcStates->m_ColorState.GetStrokeColorRef()
-               : pSrcStates->m_ColorState.GetFillColorRef());
-    pStates->m_ColorState.SetStrokeColorRef(
-        pStates->m_ColorState.GetFillColorRef());
+    pStates->mutable_color_state().SetFillColorRef(
+        stroke ? pSrcStates->color_state().GetStrokeColorRef()
+               : pSrcStates->color_state().GetFillColorRef());
+    pStates->mutable_color_state().SetStrokeColorRef(
+        pStates->color_state().GetFillColorRef());
   }
   return pStates;
 }
@@ -771,11 +774,12 @@
   if (textobj->GetCharCodes().empty())
     return true;
 
-  const TextRenderingMode text_render_mode = textobj->m_TextState.GetTextMode();
+  const TextRenderingMode text_render_mode =
+      textobj->text_state().GetTextMode();
   if (text_render_mode == TextRenderingMode::MODE_INVISIBLE)
     return true;
 
-  RetainPtr<CPDF_Font> pFont = textobj->m_TextState.GetFont();
+  RetainPtr<CPDF_Font> pFont = textobj->text_state().GetFont();
   if (pFont->IsType3Font())
     return ProcessType3Text(textobj, mtObj2Device);
 
@@ -817,14 +821,14 @@
   FX_ARGB fill_argb = 0;
   bool bPattern = false;
   if (is_stroke) {
-    if (textobj->m_ColorState.GetStrokeColor()->IsPattern()) {
+    if (textobj->color_state().GetStrokeColor()->IsPattern()) {
       bPattern = true;
     } else {
       stroke_argb = GetStrokeArgb(textobj);
     }
   }
   if (is_fill) {
-    if (textobj->m_ColorState.GetFillColor()->IsPattern()) {
+    if (textobj->color_state().GetFillColor()->IsPattern()) {
       bPattern = true;
     } else {
       fill_argb = GetFillArgb(textobj);
@@ -834,7 +838,7 @@
   if (!IsAvailableMatrix(text_matrix))
     return true;
 
-  float font_size = textobj->m_TextState.GetFontSize();
+  float font_size = textobj->text_state().GetFontSize();
   if (bPattern) {
     DrawTextPathWithPattern(textobj, mtObj2Device, pFont.Get(), font_size,
                             text_matrix, is_fill, is_stroke);
@@ -844,7 +848,7 @@
     const CFX_Matrix* pDeviceMatrix = &mtObj2Device;
     CFX_Matrix device_matrix;
     if (is_stroke) {
-      pdfium::span<const float> pCTM = textobj->m_TextState.GetCTM();
+      pdfium::span<const float> pCTM = textobj->text_state().GetCTM();
       if (pCTM[0] != 1.0f || pCTM[3] != 1.0f) {
         CFX_Matrix ctm(pCTM[0], pCTM[1], pCTM[2], pCTM[3], 0, 0);
         text_matrix *= ctm.GetInverse();
@@ -855,7 +859,7 @@
     return CPDF_TextRenderer::DrawTextPath(
         m_pDevice, textobj->GetCharCodes(), textobj->GetCharPositions(),
         pFont.Get(), font_size, text_matrix, pDeviceMatrix,
-        textobj->m_GraphState.GetObject(), fill_argb, stroke_argb,
+        textobj->graph_state().GetObject(), fill_argb, stroke_argb,
         clipping_path,
         GetFillOptionsForDrawTextPath(m_Options.GetOptions(), textobj,
                                       is_stroke, is_fill));
@@ -869,7 +873,7 @@
 // TODO(npm): Font fallback for type 3 fonts? (Completely separate code!!)
 bool CPDF_RenderStatus::ProcessType3Text(CPDF_TextObject* textobj,
                                          const CFX_Matrix& mtObj2Device) {
-  CPDF_Type3Font* pType3Font = textobj->m_TextState.GetFont()->AsType3Font();
+  CPDF_Type3Font* pType3Font = textobj->text_state().GetFont()->AsType3Font();
   if (pdfium::Contains(m_Type3FontCache, pType3Font))
     return true;
 
@@ -880,7 +884,7 @@
 
   CFX_Matrix text_matrix = textobj->GetTextMatrix();
   CFX_Matrix char_matrix = pType3Font->GetFontMatrix();
-  float font_size = textobj->m_TextState.GetFontSize();
+  float font_size = textobj->text_state().GetFontSize();
   char_matrix.Scale(font_size, font_size);
 
   // Must come before |glyphs|, because |glyphs| points into |refTypeCache|.
@@ -1049,10 +1053,10 @@
 
     CPDF_PathObject path;
     path.set_filltype(CFX_FillRenderOptions::FillType::kWinding);
-    path.m_ClipPath.CopyClipPath(m_LastClipPath);
-    path.m_ClipPath.AppendTexts(&pCopy);
-    path.m_ColorState = textobj->m_ColorState;
-    path.m_GeneralState = textobj->m_GeneralState;
+    path.mutable_clip_path().CopyClipPath(m_LastClipPath);
+    path.mutable_clip_path().AppendTexts(&pCopy);
+    path.mutable_color_state() = textobj->color_state();
+    path.mutable_general_state() = textobj->general_state();
     path.path().AppendFloatRect(textobj->GetRect());
     path.SetRect(textobj->GetRect());
 
@@ -1073,8 +1077,8 @@
       continue;
 
     CPDF_PathObject path;
-    path.m_GraphState = textobj->m_GraphState;
-    path.m_ColorState = textobj->m_ColorState;
+    path.mutable_graph_state() = textobj->graph_state();
+    path.mutable_color_state() = textobj->color_state();
 
     CFX_Matrix matrix = charpos.GetEffectiveMatrix(CFX_Matrix(
         font_size, 0, 0, font_size, charpos.m_Origin.x, charpos.m_Origin.y));
@@ -1105,8 +1109,8 @@
 
   CFX_Matrix matrix = pattern->pattern_to_form() * mtObj2Device;
   int alpha =
-      FXSYS_roundf(255 * (stroke ? pPageObj->m_GeneralState.GetStrokeAlpha()
-                                 : pPageObj->m_GeneralState.GetFillAlpha()));
+      FXSYS_roundf(255 * (stroke ? pPageObj->general_state().GetStrokeAlpha()
+                                 : pPageObj->general_state().GetFillAlpha()));
   CPDF_RenderShading::Draw(m_pDevice, m_pContext, m_pCurObj, pattern, matrix,
                            rect, alpha, m_Options);
 }
@@ -1120,7 +1124,7 @@
   CFX_Matrix matrix = pShadingObj->matrix() * mtObj2Device;
   CPDF_RenderShading::Draw(
       m_pDevice, m_pContext, m_pCurObj, pShadingObj->pattern(), matrix, rect,
-      FXSYS_roundf(255 * pShadingObj->m_GeneralState.GetFillAlpha()),
+      FXSYS_roundf(255 * pShadingObj->general_state().GetFillAlpha()),
       m_Options);
 }
 
@@ -1173,14 +1177,14 @@
   DCHECK(stroke);
 
   if (*fill_type != CFX_FillRenderOptions::FillType::kNoFill) {
-    const CPDF_Color& FillColor = *path_obj->m_ColorState.GetFillColor();
+    const CPDF_Color& FillColor = *path_obj->color_state().GetFillColor();
     if (FillColor.IsPattern()) {
       DrawPathWithPattern(path_obj, mtObj2Device, &FillColor, false);
       *fill_type = CFX_FillRenderOptions::FillType::kNoFill;
     }
   }
   if (*stroke) {
-    const CPDF_Color& StrokeColor = *path_obj->m_ColorState.GetStrokeColor();
+    const CPDF_Color& StrokeColor = *path_obj->color_state().GetStrokeColor();
     if (StrokeColor.IsPattern()) {
       DrawPathWithPattern(path_obj, mtObj2Device, &StrokeColor, true);
       *stroke = false;
diff --git a/core/fpdftext/cpdf_textpage.cpp b/core/fpdftext/cpdf_textpage.cpp
index 4966a7e..86bae9c 100644
--- a/core/fpdftext/cpdf_textpage.cpp
+++ b/core/fpdftext/cpdf_textpage.cpp
@@ -55,17 +55,18 @@
 float CalculateBaseSpace(const CPDF_TextObject* pTextObj,
                          const CFX_Matrix& matrix) {
   const size_t nItems = pTextObj->CountItems();
-  if (!pTextObj->m_TextState.GetCharSpace() || nItems < 3)
+  if (!pTextObj->text_state().GetCharSpace() || nItems < 3) {
     return 0.0f;
+  }
 
   bool bAllChar = true;
   float spacing =
-      matrix.TransformDistance(pTextObj->m_TextState.GetCharSpace());
+      matrix.TransformDistance(pTextObj->text_state().GetCharSpace());
   float baseSpace = spacing;
   for (size_t i = 0; i < nItems; ++i) {
     CPDF_TextObject::Item item = pTextObj->GetItemInfo(i);
     if (item.m_CharCode == 0xffffffff) {
-      float fontsize_h = pTextObj->m_TextState.GetFontSizeH();
+      float fontsize_h = pTextObj->text_state().GetFontSizeH();
       float kerning = -fontsize_h * item.m_Origin.x / 1000;
       baseSpace = std::min(baseSpace, kerning + spacing);
       bAllChar = false;
@@ -1046,18 +1047,18 @@
       if (str.IsEmpty() || str.Back() == L' ')
         continue;
 
-      float fontsize_h = pTextObj->m_TextState.GetFontSizeH();
+      float fontsize_h = pTextObj->text_state().GetFontSizeH();
       spacing = -fontsize_h * item.m_Origin.x / 1000;
       continue;
     }
-    float charSpace = pTextObj->m_TextState.GetCharSpace();
+    float charSpace = pTextObj->text_state().GetCharSpace();
     if (charSpace > 0.001)
       spacing += matrix.TransformDistance(charSpace);
     else if (charSpace < -0.001)
       spacing -= matrix.TransformDistance(fabs(charSpace));
     spacing -= baseSpace;
     if (spacing && i > 0) {
-      float fontsize_h = pTextObj->m_TextState.GetFontSizeH();
+      float fontsize_h = pTextObj->text_state().GetFontSizeH();
       uint32_t space_charcode = pFont->CharCodeFromUnicode(' ');
       float threshold = 0;
       if (space_charcode != CPDF_Font::kInvalidCharCode)
diff --git a/fpdfsdk/fpdf_editpage.cpp b/fpdfsdk/fpdf_editpage.cpp
index ee4b678..ea678b3 100644
--- a/fpdfsdk/fpdf_editpage.cpp
+++ b/fpdfsdk/fpdf_editpage.cpp
@@ -490,27 +490,30 @@
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
 FPDFPageObj_HasTransparency(FPDF_PAGEOBJECT page_object) {
   CPDF_PageObject* pPageObj = CPDFPageObjectFromFPDFPageObject(page_object);
-  if (!pPageObj)
+  if (!pPageObj) {
     return false;
-
-  if (pPageObj->m_GeneralState.GetBlendType() != BlendMode::kNormal)
+  }
+  if (pPageObj->general_state().GetBlendType() != BlendMode::kNormal) {
     return true;
-
-  if (pPageObj->m_GeneralState.GetSoftMask())
+  }
+  if (pPageObj->general_state().GetSoftMask()) {
     return true;
-
-  if (pPageObj->m_GeneralState.GetFillAlpha() != 1.0f)
+  }
+  if (pPageObj->general_state().GetFillAlpha() != 1.0f) {
     return true;
-
-  if (pPageObj->IsPath() && pPageObj->m_GeneralState.GetStrokeAlpha() != 1.0f)
+  }
+  if (pPageObj->IsPath() &&
+      pPageObj->general_state().GetStrokeAlpha() != 1.0f) {
     return true;
-
-  if (!pPageObj->IsForm())
+  }
+  if (!pPageObj->IsForm()) {
     return false;
+  }
 
   const CPDF_Form* pForm = pPageObj->AsForm()->form();
-  if (!pForm)
+  if (!pForm) {
     return false;
+  }
 
   const CPDF_Transparency& trans = pForm->GetTransparency();
   return trans.IsGroup() || trans.IsIsolated();
@@ -691,7 +694,7 @@
   if (!pPageObj)
     return;
 
-  pPageObj->m_GeneralState.SetBlendMode(blend_mode);
+  pPageObj->mutable_general_state().SetBlendMode(blend_mode);
   pPageObj->SetDirty(true);
 }
 
@@ -751,8 +754,8 @@
     return false;
 
   std::vector<float> rgb = {R / 255.f, G / 255.f, B / 255.f};
-  pPageObj->m_GeneralState.SetFillAlpha(A / 255.f);
-  pPageObj->m_ColorState.SetFillColor(
+  pPageObj->mutable_general_state().SetFillAlpha(A / 255.f);
+  pPageObj->mutable_color_state().SetFillColor(
       CPDF_ColorSpace::GetStockCS(CPDF_ColorSpace::Family::kDeviceRGB),
       std::move(rgb));
   pPageObj->SetDirty(true);
@@ -769,14 +772,15 @@
   if (!pPageObj || !R || !G || !B || !A)
     return false;
 
-  if (!pPageObj->m_ColorState.HasRef())
+  if (!pPageObj->color_state().HasRef()) {
     return false;
+  }
 
-  FX_COLORREF fill_color = pPageObj->m_ColorState.GetFillColorRef();
+  FX_COLORREF fill_color = pPageObj->color_state().GetFillColorRef();
   *R = FXSYS_GetRValue(fill_color);
   *G = FXSYS_GetGValue(fill_color);
   *B = FXSYS_GetBValue(fill_color);
-  *A = FXSYS_GetUnsignedAlpha(pPageObj->m_GeneralState.GetFillAlpha());
+  *A = FXSYS_GetUnsignedAlpha(pPageObj->general_state().GetFillAlpha());
   return true;
 }
 
@@ -847,8 +851,8 @@
     return false;
 
   std::vector<float> rgb = {R / 255.f, G / 255.f, B / 255.f};
-  pPageObj->m_GeneralState.SetStrokeAlpha(A / 255.f);
-  pPageObj->m_ColorState.SetStrokeColor(
+  pPageObj->mutable_general_state().SetStrokeAlpha(A / 255.f);
+  pPageObj->mutable_color_state().SetStrokeColor(
       CPDF_ColorSpace::GetStockCS(CPDF_ColorSpace::Family::kDeviceRGB),
       std::move(rgb));
   pPageObj->SetDirty(true);
@@ -862,17 +866,18 @@
                            unsigned int* B,
                            unsigned int* A) {
   auto* pPageObj = CPDFPageObjectFromFPDFPageObject(page_object);
-  if (!pPageObj || !R || !G || !B || !A)
+  if (!pPageObj || !R || !G || !B || !A) {
     return false;
-
-  if (!pPageObj->m_ColorState.HasRef())
+  }
+  if (!pPageObj->color_state().HasRef()) {
     return false;
+  }
 
-  FX_COLORREF stroke_color = pPageObj->m_ColorState.GetStrokeColorRef();
+  FX_COLORREF stroke_color = pPageObj->color_state().GetStrokeColorRef();
   *R = FXSYS_GetRValue(stroke_color);
   *G = FXSYS_GetGValue(stroke_color);
   *B = FXSYS_GetBValue(stroke_color);
-  *A = FXSYS_GetUnsignedAlpha(pPageObj->m_GeneralState.GetStrokeAlpha());
+  *A = FXSYS_GetUnsignedAlpha(pPageObj->general_state().GetStrokeAlpha());
   return true;
 }
 
@@ -882,7 +887,7 @@
   if (!pPageObj || width < 0.0f)
     return false;
 
-  pPageObj->m_GraphState.SetLineWidth(width);
+  pPageObj->mutable_graph_state().SetLineWidth(width);
   pPageObj->SetDirty(true);
   return true;
 }
@@ -893,14 +898,15 @@
   if (!pPageObj || !width)
     return false;
 
-  *width = pPageObj->m_GraphState.GetLineWidth();
+  *width = pPageObj->graph_state().GetLineWidth();
   return true;
 }
 
 FPDF_EXPORT int FPDF_CALLCONV
 FPDFPageObj_GetLineJoin(FPDF_PAGEOBJECT page_object) {
   auto* pPageObj = CPDFPageObjectFromFPDFPageObject(page_object);
-  return pPageObj ? static_cast<int>(pPageObj->m_GraphState.GetLineJoin()) : -1;
+  return pPageObj ? static_cast<int>(pPageObj->graph_state().GetLineJoin())
+                  : -1;
 }
 
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
@@ -912,7 +918,7 @@
   if (line_join < FPDF_LINEJOIN_MITER || line_join > FPDF_LINEJOIN_BEVEL)
     return false;
 
-  pPageObj->m_GraphState.SetLineJoin(
+  pPageObj->mutable_graph_state().SetLineJoin(
       static_cast<CFX_GraphStateData::LineJoin>(line_join));
   pPageObj->SetDirty(true);
   return true;
@@ -921,7 +927,7 @@
 FPDF_EXPORT int FPDF_CALLCONV
 FPDFPageObj_GetLineCap(FPDF_PAGEOBJECT page_object) {
   auto* pPageObj = CPDFPageObjectFromFPDFPageObject(page_object);
-  return pPageObj ? static_cast<int>(pPageObj->m_GraphState.GetLineCap()) : -1;
+  return pPageObj ? static_cast<int>(pPageObj->graph_state().GetLineCap()) : -1;
 }
 
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
@@ -934,7 +940,7 @@
       line_cap > FPDF_LINECAP_PROJECTING_SQUARE) {
     return false;
   }
-  pPageObj->m_GraphState.SetLineCap(
+  pPageObj->mutable_graph_state().SetLineCap(
       static_cast<CFX_GraphStateData::LineCap>(line_cap));
   pPageObj->SetDirty(true);
   return true;
@@ -946,7 +952,7 @@
   if (!pPageObj || !phase)
     return false;
 
-  *phase = pPageObj->m_GraphState.GetLineDashPhase();
+  *phase = pPageObj->graph_state().GetLineDashPhase();
   return true;
 }
 
@@ -956,7 +962,7 @@
   if (!pPageObj)
     return false;
 
-  pPageObj->m_GraphState.SetLineDashPhase(phase);
+  pPageObj->mutable_graph_state().SetLineDashPhase(phase);
   pPageObj->SetDirty(true);
   return true;
 }
@@ -965,7 +971,7 @@
 FPDFPageObj_GetDashCount(FPDF_PAGEOBJECT page_object) {
   auto* pPageObj = CPDFPageObjectFromFPDFPageObject(page_object);
   return pPageObj ? pdfium::base::checked_cast<int>(
-                        pPageObj->m_GraphState.GetLineDashSize())
+                        pPageObj->graph_state().GetLineDashSize())
                   : -1;
 }
 
@@ -977,7 +983,7 @@
   if (!pPageObj || !dash_array)
     return false;
 
-  auto dash_vector = pPageObj->m_GraphState.GetLineDashArray();
+  auto dash_vector = pPageObj->graph_state().GetLineDashArray();
   if (dash_vector.size() > dash_count)
     return false;
 
@@ -1004,7 +1010,7 @@
     dashes.assign(dash_array, dash_array + dash_count);
   }
 
-  pPageObj->m_GraphState.SetLineDash(dashes, phase, 1.0f);
+  pPageObj->mutable_graph_state().SetLineDash(dashes, phase, 1.0f);
 
   pPageObj->SetDirty(true);
   return true;
diff --git a/fpdfsdk/fpdf_edittext.cpp b/fpdfsdk/fpdf_edittext.cpp
index 9a97fb4..c09880b 100644
--- a/fpdfsdk/fpdf_edittext.cpp
+++ b/fpdfsdk/fpdf_edittext.cpp
@@ -491,8 +491,8 @@
     return nullptr;
 
   auto pTextObj = std::make_unique<CPDF_TextObject>();
-  pTextObj->m_TextState.SetFont(std::move(pFont));
-  pTextObj->m_TextState.SetFontSize(font_size);
+  pTextObj->mutable_text_state().SetFont(std::move(pFont));
+  pTextObj->mutable_text_state().SetFontSize(font_size);
   pTextObj->DefaultStates();
 
   // Caller takes ownership.
@@ -682,9 +682,10 @@
     return nullptr;
 
   auto pTextObj = std::make_unique<CPDF_TextObject>();
-  pTextObj->m_TextState.SetFont(CPDF_DocPageData::FromDocument(pDoc)->GetFont(
-      pFont->GetMutableFontDict()));
-  pTextObj->m_TextState.SetFontSize(font_size);
+  pTextObj->mutable_text_state().SetFont(
+      CPDF_DocPageData::FromDocument(pDoc)->GetFont(
+          pFont->GetMutableFontDict()));
+  pTextObj->mutable_text_state().SetFontSize(font_size);
   pTextObj->DefaultStates();
   return FPDFPageObjectFromCPDFPageObject(pTextObj.release());
 }
diff --git a/fpdfsdk/fpdf_text.cpp b/fpdfsdk/fpdf_text.cpp
index a96b94b..f1b193d 100644
--- a/fpdfsdk/fpdf_text.cpp
+++ b/fpdfsdk/fpdf_text.cpp
@@ -180,12 +180,12 @@
   if (!charinfo.m_pTextObj)
     return false;
 
-  FX_COLORREF fill_color = charinfo.m_pTextObj->m_ColorState.GetFillColorRef();
+  FX_COLORREF fill_color = charinfo.m_pTextObj->color_state().GetFillColorRef();
   *R = FXSYS_GetRValue(fill_color);
   *G = FXSYS_GetGValue(fill_color);
   *B = FXSYS_GetBValue(fill_color);
   *A = FXSYS_GetUnsignedAlpha(
-      charinfo.m_pTextObj->m_GeneralState.GetFillAlpha());
+      charinfo.m_pTextObj->general_state().GetFillAlpha());
   return true;
 }
 
@@ -205,12 +205,12 @@
     return false;
 
   FX_COLORREF stroke_color =
-      charinfo.m_pTextObj->m_ColorState.GetStrokeColorRef();
+      charinfo.m_pTextObj->color_state().GetStrokeColorRef();
   *R = FXSYS_GetRValue(stroke_color);
   *G = FXSYS_GetGValue(stroke_color);
   *B = FXSYS_GetBValue(stroke_color);
   *A = FXSYS_GetUnsignedAlpha(
-      charinfo.m_pTextObj->m_GeneralState.GetStrokeAlpha());
+      charinfo.m_pTextObj->general_state().GetStrokeAlpha());
   return true;
 }
 
diff --git a/fpdfsdk/fpdf_transformpage.cpp b/fpdfsdk/fpdf_transformpage.cpp
index c9ea333..8eb1d69 100644
--- a/fpdfsdk/fpdf_transformpage.cpp
+++ b/fpdfsdk/fpdf_transformpage.cpp
@@ -308,7 +308,7 @@
   if (!pPageObj)
     return nullptr;
 
-  return FPDFClipPathFromCPDFClipPath(&pPageObj->m_ClipPath);
+  return FPDFClipPathFromCPDFClipPath(&pPageObj->mutable_clip_path());
 }
 
 FPDF_EXPORT int FPDF_CALLCONV FPDFClipPath_CountPaths(FPDF_CLIPPATH clip_path) {