Encapsulate `CPDF_TextPage::CharInfo::m_CharType`
Add getter and setter, and rename to follow Google C++ style.
Change-Id: Ic5354455f1afbe41e9c99656f10b4644f3eaa89a
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/124733
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_linkextract.cpp b/core/fpdftext/cpdf_linkextract.cpp
index 431b555..343077d 100644
--- a/core/fpdftext/cpdf_linkextract.cpp
+++ b/core/fpdftext/cpdf_linkextract.cpp
@@ -122,11 +122,11 @@
const WideString page_text = m_pTextPage->GetAllPageText();
while (pos < nTotalChar) {
const CPDF_TextPage::CharInfo& char_info = m_pTextPage->GetCharInfo(pos);
- if (char_info.m_CharType != CPDF_TextPage::CharType::kGenerated &&
+ if (char_info.char_type() != CPDF_TextPage::CharType::kGenerated &&
char_info.m_Unicode != L' ' && pos != nTotalChar - 1) {
bAfterHyphen =
- (char_info.m_CharType == CPDF_TextPage::CharType::kHyphen ||
- (char_info.m_CharType == CPDF_TextPage::CharType::kNormal &&
+ (char_info.char_type() == CPDF_TextPage::CharType::kHyphen ||
+ (char_info.char_type() == CPDF_TextPage::CharType::kNormal &&
char_info.m_Unicode == L'-'));
++pos;
continue;
diff --git a/core/fpdftext/cpdf_textpage.cpp b/core/fpdftext/cpdf_textpage.cpp
index 157fd6f..401d06f 100644
--- a/core/fpdftext/cpdf_textpage.cpp
+++ b/core/fpdftext/cpdf_textpage.cpp
@@ -121,7 +121,7 @@
case 0x97:
case 0x98:
case 0xfffe:
- return char_info.m_CharType != CPDF_TextPage::CharType::kHyphen;
+ return char_info.char_type() != CPDF_TextPage::CharType::kHyphen;
default:
return false;
}
@@ -303,7 +303,7 @@
bool skipped = false;
for (int i = 0; i < nCount; ++i) {
const CharInfo& charinfo = m_CharList[i];
- if (charinfo.m_CharType == CPDF_TextPage::CharType::kGenerated ||
+ if (charinfo.char_type() == CPDF_TextPage::CharType::kGenerated ||
(charinfo.m_Unicode != 0 && !IsControlChar(charinfo)) ||
(charinfo.m_Unicode == 0 && charinfo.m_CharCode != 0)) {
m_CharIndices.back().count++;
@@ -365,8 +365,9 @@
bool is_new_rect = true;
while (count--) {
const CharInfo& charinfo = m_CharList[pos++];
- if (charinfo.m_CharType == CPDF_TextPage::CharType::kGenerated)
+ if (charinfo.char_type() == CPDF_TextPage::CharType::kGenerated) {
continue;
+ }
if (charinfo.char_box().Width() < kSizeEpsilon ||
charinfo.char_box().Height() < kSizeEpsilon) {
continue;
@@ -678,7 +679,7 @@
}
for (wchar_t normalized_char : normalized) {
info2.m_Unicode = normalized_char;
- info2.m_CharType = CPDF_TextPage::CharType::kPiece;
+ info2.set_char_type(CPDF_TextPage::CharType::kPiece);
m_TextBuf.AppendChar(info2.m_Unicode);
m_CharList.push_back(info2);
}
@@ -703,7 +704,7 @@
}
for (wchar_t normalized_char : normalized) {
info2.m_Unicode = normalized_char;
- info2.m_CharType = CPDF_TextPage::CharType::kPiece;
+ info2.set_char_type(CPDF_TextPage::CharType::kPiece);
m_TextBuf.AppendChar(info2.m_Unicode);
m_CharList.push_back(info2);
}
@@ -916,7 +917,7 @@
charinfo.m_Index = m_TextBuf.GetLength();
charinfo.m_Unicode = wChar;
charinfo.m_CharCode = pFont->CharCodeFromUnicode(wChar);
- charinfo.m_CharType = CPDF_TextPage::CharType::kPiece;
+ charinfo.set_char_type(CPDF_TextPage::CharType::kPiece);
charinfo.set_text_object(pTextObj);
charinfo.set_origin(pTextObj->GetPos());
CFX_FloatRect char_box(rect);
@@ -1018,7 +1019,7 @@
CharInfo* charinfo = &m_TempCharList.back();
m_TempTextBuf.Delete(m_TempTextBuf.GetLength() - 1, 1);
charinfo->m_Unicode = 0x2;
- charinfo->m_CharType = CPDF_TextPage::CharType::kHyphen;
+ charinfo->set_char_type(CPDF_TextPage::CharType::kHyphen);
m_TempTextBuf.AppendChar(0xfffe);
break;
}
@@ -1081,7 +1082,7 @@
}
if (threshold && (spacing && spacing >= threshold)) {
charinfo.m_Unicode = L' ';
- charinfo.m_CharType = CPDF_TextPage::CharType::kGenerated;
+ charinfo.set_char_type(CPDF_TextPage::CharType::kGenerated);
charinfo.set_text_object(pTextObj);
charinfo.m_Index = m_TextBuf.GetLength();
m_TempTextBuf.AppendChar(L' ');
@@ -1105,8 +1106,8 @@
}
charinfo.m_Index = -1;
charinfo.m_CharCode = item.m_CharCode;
- charinfo.m_CharType = bNoUnicode ? CPDF_TextPage::CharType::kNotUnicode
- : CPDF_TextPage::CharType::kNormal;
+ charinfo.set_char_type(bNoUnicode ? CPDF_TextPage::CharType::kNotUnicode
+ : CPDF_TextPage::CharType::kNormal);
charinfo.set_text_object(pTextObj);
charinfo.set_origin(matrix.Transform(item.m_Origin));
@@ -1225,7 +1226,7 @@
const CharInfo* pPrevCharInfo = GetPrevCharInfo();
return pPrevCharInfo &&
- pPrevCharInfo->m_CharType == CPDF_TextPage::CharType::kPiece &&
+ pPrevCharInfo->char_type() == CPDF_TextPage::CharType::kPiece &&
IsHyphenCode(pPrevCharInfo->m_Unicode);
}
@@ -1435,7 +1436,7 @@
info.m_Index = m_TextBuf.GetLength();
info.m_CharCode = CPDF_Font::kInvalidCharCode;
info.m_Unicode = unicode;
- info.m_CharType = CPDF_TextPage::CharType::kGenerated;
+ info.set_char_type(CPDF_TextPage::CharType::kGenerated);
int pre_width = 0;
if (pPrevCharInfo->text_object() &&
diff --git a/core/fpdftext/cpdf_textpage.h b/core/fpdftext/cpdf_textpage.h
index ad479e0..4402f26 100644
--- a/core/fpdftext/cpdf_textpage.h
+++ b/core/fpdftext/cpdf_textpage.h
@@ -49,6 +49,9 @@
CharInfo(const CharInfo&);
~CharInfo();
+ CharType char_type() const { return char_type_; }
+ void set_char_type(CharType char_type) { char_type_ = char_type; }
+
const CFX_PointF& origin() const { return origin_; }
void set_origin(const CFX_PointF& origin) { origin_ = origin; }
@@ -67,9 +70,9 @@
int m_Index = 0;
uint32_t m_CharCode = 0;
wchar_t m_Unicode = 0;
- CharType m_CharType = CharType::kNormal;
private:
+ CharType char_type_ = CharType::kNormal;
CFX_PointF origin_;
CFX_FloatRect char_box_;
CFX_Matrix matrix_;
diff --git a/fpdfsdk/fpdf_text.cpp b/fpdfsdk/fpdf_text.cpp
index 7ba40d6..9e5a389c 100644
--- a/fpdfsdk/fpdf_text.cpp
+++ b/fpdfsdk/fpdf_text.cpp
@@ -92,7 +92,7 @@
return -1;
const CPDF_TextPage::CharInfo& charinfo = textpage->GetCharInfo(index);
- return charinfo.m_CharType == CPDF_TextPage::CharType::kGenerated ? 1 : 0;
+ return charinfo.char_type() == CPDF_TextPage::CharType::kGenerated ? 1 : 0;
}
FPDF_EXPORT int FPDF_CALLCONV FPDFText_IsHyphen(FPDF_TEXTPAGE text_page,
@@ -103,7 +103,7 @@
}
const CPDF_TextPage::CharInfo& charinfo = textpage->GetCharInfo(index);
- return charinfo.m_CharType == CPDF_TextPage::CharType::kHyphen;
+ return charinfo.char_type() == CPDF_TextPage::CharType::kHyphen;
}
FPDF_EXPORT int FPDF_CALLCONV
@@ -113,7 +113,7 @@
return -1;
const CPDF_TextPage::CharInfo& charinfo = textpage->GetCharInfo(index);
- return charinfo.m_CharType == CPDF_TextPage::CharType::kNotUnicode;
+ return charinfo.char_type() == CPDF_TextPage::CharType::kNotUnicode;
}
FPDF_EXPORT double FPDF_CALLCONV FPDFText_GetFontSize(FPDF_TEXTPAGE text_page,