Encapsulate `CPDF_TextPage::CharInfo::m_Origin` and `m_CharBox`

Add getters and setters, and rename to follow Google C++ style.

Change-Id: Ib13c1dd8295306c778a26f95fb74f781d3debe5d
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/124731
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Tom Sepez <tsepez@google.com>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdftext/cpdf_textpage.cpp b/core/fpdftext/cpdf_textpage.cpp
index 6ba3539..6b83a6d 100644
--- a/core/fpdftext/cpdf_textpage.cpp
+++ b/core/fpdftext/cpdf_textpage.cpp
@@ -244,9 +244,9 @@
       int16_t vert_width = pCIDFont->GetVertWidth(cid);
       double height = vert_width * font_size / 1000.0;
 
-      float left = charinfo.m_Origin.x + offsetx;
+      float left = charinfo.origin().x + offsetx;
       float right = left + font_size;
-      float bottom = charinfo.m_Origin.y + offsety;
+      float bottom = charinfo.origin().y + offsety;
       float top = bottom + height;
       return CFX_FloatRect(left, bottom, right, top);
     }
@@ -258,16 +258,16 @@
                     charinfo.m_pTextObj->GetCharWidth(charinfo.m_CharCode);
       float font_scale = charinfo.matrix().a * font_size / (ascent - descent);
 
-      float left = charinfo.m_Origin.x;
-      float right = charinfo.m_Origin.x + (is_vert_writing ? -width : width);
-      float bottom = charinfo.m_Origin.y + descent * font_scale;
-      float top = charinfo.m_Origin.y + ascent * font_scale;
+      float left = charinfo.origin().x;
+      float right = charinfo.origin().x + (is_vert_writing ? -width : width);
+      float bottom = charinfo.origin().y + descent * font_scale;
+      float top = charinfo.origin().y + ascent * font_scale;
       return CFX_FloatRect(left, bottom, right, top);
     }
   }
 
   // Fallback to the tight bounds in empty text scenarios, or bad font metrics
-  return charinfo.m_CharBox;
+  return charinfo.char_box();
 }
 
 }  // namespace
@@ -367,8 +367,8 @@
     const CharInfo& charinfo = m_CharList[pos++];
     if (charinfo.m_CharType == CPDF_TextPage::CharType::kGenerated)
       continue;
-    if (charinfo.m_CharBox.Width() < kSizeEpsilon ||
-        charinfo.m_CharBox.Height() < kSizeEpsilon) {
+    if (charinfo.char_box().Width() < kSizeEpsilon ||
+        charinfo.char_box().Height() < kSizeEpsilon) {
       continue;
     }
     if (!text_object)
@@ -380,11 +380,11 @@
     }
     if (is_new_rect) {
       is_new_rect = false;
-      rect = charinfo.m_CharBox;
+      rect = charinfo.char_box();
       rect.Normalize();
       continue;
     }
-    rect.Union(charinfo.m_CharBox);
+    rect.Union(charinfo.char_box());
   }
   rects.push_back(rect);
   return rects;
@@ -398,7 +398,7 @@
   double ydif = 5000;
   const int nCount = CountChars();
   for (pos = 0; pos < nCount; ++pos) {
-    const CFX_FloatRect& orig_charrect = m_CharList[pos].m_CharBox;
+    const CFX_FloatRect& orig_charrect = m_CharList[pos].char_box();
     if (orig_charrect.Contains(point))
       break;
 
@@ -435,9 +435,9 @@
   WideString strText;
   for (const auto& charinfo : m_CharList) {
     if (predicate(charinfo)) {
-      if (fabs(posy - charinfo.m_Origin.y) > 0 && !IsContainPreChar &&
+      if (fabs(posy - charinfo.origin().y) > 0 && !IsContainPreChar &&
           IsAddLineFeed) {
-        posy = charinfo.m_Origin.y;
+        posy = charinfo.origin().y;
         if (!strText.IsEmpty())
           strText += L"\r\n";
       }
@@ -461,7 +461,7 @@
 
 WideString CPDF_TextPage::GetTextByRect(const CFX_FloatRect& rect) const {
   return GetTextByPredicate([&rect](const CharInfo& charinfo) {
-    return IsRectIntersect(rect, charinfo.m_CharBox);
+    return IsRectIntersect(rect, charinfo.char_box());
   });
 }
 
@@ -913,14 +913,15 @@
       continue;
 
     CharInfo charinfo;
-    charinfo.m_Origin = pTextObj->GetPos();
     charinfo.m_Index = m_TextBuf.GetLength();
     charinfo.m_Unicode = wChar;
     charinfo.m_CharCode = pFont->CharCodeFromUnicode(wChar);
     charinfo.m_CharType = CPDF_TextPage::CharType::kPiece;
     charinfo.m_pTextObj = pTextObj;
-    charinfo.m_CharBox = CFX_FloatRect(rect);
-    charinfo.m_CharBox.Translate(k * step, 0);
+    charinfo.set_origin(pTextObj->GetPos());
+    CFX_FloatRect char_box(rect);
+    char_box.Translate(k * step, 0);
+    charinfo.set_char_box(char_box);
     charinfo.set_matrix(matrix);
     m_TempTextBuf.AppendChar(wChar);
     m_TempCharList.push_back(charinfo);
@@ -1084,11 +1085,11 @@
         charinfo.m_Index = m_TextBuf.GetLength();
         m_TempTextBuf.AppendChar(L' ');
         charinfo.m_CharCode = CPDF_Font::kInvalidCharCode;
+        charinfo.set_origin(matrix.Transform(item.m_Origin));
+        charinfo.set_char_box(
+            CFX_FloatRect(charinfo.origin().x, charinfo.origin().y,
+                          charinfo.origin().x, charinfo.origin().y));
         charinfo.set_matrix(form_matrix);
-        charinfo.m_Origin = matrix.Transform(item.m_Origin);
-        charinfo.m_CharBox =
-            CFX_FloatRect(charinfo.m_Origin.x, charinfo.m_Origin.y,
-                          charinfo.m_Origin.x, charinfo.m_Origin.y);
         m_TempCharList.push_back(charinfo);
       }
       if (item.m_CharCode == CPDF_Font::kInvalidCharCode)
@@ -1106,25 +1107,24 @@
     charinfo.m_CharType = bNoUnicode ? CPDF_TextPage::CharType::kNotUnicode
                                      : CPDF_TextPage::CharType::kNormal;
     charinfo.m_pTextObj = pTextObj;
-    charinfo.m_Origin = matrix.Transform(item.m_Origin);
+    charinfo.set_origin(matrix.Transform(item.m_Origin));
 
     const FX_RECT rect =
         charinfo.m_pTextObj->GetFont()->GetCharBBox(charinfo.m_CharCode);
     const float fFontSize = pTextObj->GetFontSize() / 1000;
-    charinfo.m_CharBox.top = rect.top * fFontSize + item.m_Origin.y;
-    charinfo.m_CharBox.left = rect.left * fFontSize + item.m_Origin.x;
-    charinfo.m_CharBox.right = rect.right * fFontSize + item.m_Origin.x;
-    charinfo.m_CharBox.bottom = rect.bottom * fFontSize + item.m_Origin.y;
-    if (fabsf(charinfo.m_CharBox.top - charinfo.m_CharBox.bottom) <
-        kSizeEpsilon) {
-      charinfo.m_CharBox.top = charinfo.m_CharBox.bottom + fFontSize;
+    CFX_FloatRect char_box(rect.left * fFontSize + item.m_Origin.x,
+                           rect.bottom * fFontSize + item.m_Origin.y,
+                           rect.right * fFontSize + item.m_Origin.x,
+                           rect.top * fFontSize + item.m_Origin.y);
+    if (fabsf(char_box.top - char_box.bottom) < kSizeEpsilon) {
+      char_box.top = char_box.bottom + fFontSize;
     }
-    if (fabsf(charinfo.m_CharBox.right - charinfo.m_CharBox.left) <
-        kSizeEpsilon) {
-      charinfo.m_CharBox.right =
-          charinfo.m_CharBox.left + pTextObj->GetCharWidth(charinfo.m_CharCode);
+    if (fabsf(char_box.right - char_box.left) < kSizeEpsilon) {
+      char_box.right =
+          char_box.left + pTextObj->GetCharWidth(charinfo.m_CharCode);
     }
-    charinfo.m_CharBox = matrix.TransformRect(charinfo.m_CharBox);
+    char_box = matrix.TransformRect(char_box);
+    charinfo.set_char_box(char_box);
     charinfo.set_matrix(matrix);
     if (wstrItem.IsEmpty()) {
       charinfo.m_Unicode = 0;
@@ -1141,7 +1141,7 @@
     for (int n = fxcrt::CollectionSize<int>(m_TempCharList);
          n > fxcrt::CollectionSize<int>(m_TempCharList) - count; --n) {
       const CharInfo& charinfo1 = m_TempCharList[n - 1];
-      CFX_PointF diff = charinfo1.m_Origin - charinfo.m_Origin;
+      CFX_PointF diff = charinfo1.origin() - charinfo.origin();
       if (charinfo1.m_CharCode == charinfo.m_CharCode &&
           charinfo1.m_pTextObj->GetFont() == charinfo.m_pTextObj->GetFont() &&
           fabs(diff.x) < threshold && fabs(diff.y) < threshold) {
@@ -1180,9 +1180,9 @@
 
   CPDF_TextObject::Item first = pTextObj->GetCharInfo(0);
   CPDF_TextObject::Item last = pTextObj->GetCharInfo(nChars - 1);
-  CFX_Matrix textMatrix = pTextObj->GetTextMatrix();
-  first.m_Origin = textMatrix.Transform(first.m_Origin);
-  last.m_Origin = textMatrix.Transform(last.m_Origin);
+  CFX_Matrix text_matrix = pTextObj->GetTextMatrix();
+  first.m_Origin = text_matrix.Transform(first.m_Origin);
+  last.m_Origin = text_matrix.Transform(last.m_Origin);
 
   static constexpr float kEpsilon = 0.0001f;
   float dX = fabs(last.m_Origin.x - first.m_Origin.x);
@@ -1363,7 +1363,7 @@
     float dbXdif = fabs(rcPreObj.left - rcCurObj.left);
     size_t nCount = m_CharList.size();
     if (nCount >= 2) {
-      float dbSpace = m_CharList[nCount - 2].m_CharBox.Width();
+      float dbSpace = m_CharList[nCount - 2].char_box().Width();
       if (dbXdif > dbSpace)
         return false;
     }
@@ -1444,14 +1444,14 @@
 
   float fFontSize = pPrevCharInfo->m_pTextObj
                         ? pPrevCharInfo->m_pTextObj->GetFontSize()
-                        : pPrevCharInfo->m_CharBox.Height();
+                        : pPrevCharInfo->char_box().Height();
   if (!fFontSize)
     fFontSize = kDefaultFontSize;
 
-  info.m_Origin =
-      CFX_PointF(pPrevCharInfo->m_Origin.x + preWidth * (fFontSize) / 1000,
-                 pPrevCharInfo->m_Origin.y);
-  info.m_CharBox = CFX_FloatRect(info.m_Origin.x, info.m_Origin.y,
-                                 info.m_Origin.x, info.m_Origin.y);
+  info.set_origin(
+      CFX_PointF(pPrevCharInfo->origin().x + preWidth * (fFontSize) / 1000,
+                 pPrevCharInfo->origin().y));
+  info.set_char_box(CFX_FloatRect(info.origin().x, info.origin().y,
+                                  info.origin().x, info.origin().y));
   return info;
 }
diff --git a/core/fpdftext/cpdf_textpage.h b/core/fpdftext/cpdf_textpage.h
index 297dd86..4327fd2 100644
--- a/core/fpdftext/cpdf_textpage.h
+++ b/core/fpdftext/cpdf_textpage.h
@@ -49,6 +49,12 @@
     CharInfo(const CharInfo&);
     ~CharInfo();
 
+    const CFX_PointF& origin() const { return origin_; }
+    void set_origin(const CFX_PointF& origin) { origin_ = origin; }
+
+    const CFX_FloatRect& char_box() const { return char_box_; }
+    void set_char_box(const CFX_FloatRect& char_box) { char_box_ = char_box; }
+
     const CFX_Matrix& matrix() const { return matrix_; }
     void set_matrix(const CFX_Matrix& matrix) { matrix_ = matrix; }
 
@@ -56,11 +62,11 @@
     uint32_t m_CharCode = 0;
     wchar_t m_Unicode = 0;
     CharType m_CharType = CharType::kNormal;
-    CFX_PointF m_Origin;
-    CFX_FloatRect m_CharBox;
     UnownedPtr<CPDF_TextObject> m_pTextObj;
 
    private:
+    CFX_PointF origin_;
+    CFX_FloatRect char_box_;
     CFX_Matrix matrix_;
   };
 
diff --git a/fpdfsdk/fpdf_text.cpp b/fpdfsdk/fpdf_text.cpp
index 5fa9fb6..1a7cb9e 100644
--- a/fpdfsdk/fpdf_text.cpp
+++ b/fpdfsdk/fpdf_text.cpp
@@ -247,10 +247,10 @@
     return false;
 
   const CPDF_TextPage::CharInfo& charinfo = textpage->GetCharInfo(index);
-  *left = charinfo.m_CharBox.left;
-  *right = charinfo.m_CharBox.right;
-  *bottom = charinfo.m_CharBox.bottom;
-  *top = charinfo.m_CharBox.top;
+  *left = charinfo.char_box().left;
+  *right = charinfo.char_box().right;
+  *bottom = charinfo.char_box().bottom;
+  *top = charinfo.char_box().top;
   return true;
 }
 
@@ -292,8 +292,8 @@
     return false;
 
   const CPDF_TextPage::CharInfo& charinfo = textpage->GetCharInfo(index);
-  *x = charinfo.m_Origin.x;
-  *y = charinfo.m_Origin.y;
+  *x = charinfo.origin().x;
+  *y = charinfo.origin().y;
   return true;
 }