From 985e86f297e8319dbf3fd37247613f66e9f11216 Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Wed, 4 Oct 2017 15:10:04 -0400 Subject: Remove friends from CPDF_TextObject This CL removes the friends from CPDF_TextObject and adds accessor methods as needed. Change-Id: I68d18297640b46113df79f58bea50b77dac89d39 Reviewed-on: https://pdfium-review.googlesource.com/15455 Reviewed-by: Henrique Nakashima Commit-Queue: dsinclair --- core/fpdfapi/render/cpdf_renderstatus.cpp | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'core/fpdfapi/render/cpdf_renderstatus.cpp') diff --git a/core/fpdfapi/render/cpdf_renderstatus.cpp b/core/fpdfapi/render/cpdf_renderstatus.cpp index b49394993a..906143048d 100644 --- a/core/fpdfapi/render/cpdf_renderstatus.cpp +++ b/core/fpdfapi/render/cpdf_renderstatus.cpp @@ -1590,7 +1590,7 @@ bool CPDF_RenderStatus::ProcessTransparency(CPDF_PageObject* pPageObj, CFX_Matrix text_matrix = textobj->GetTextMatrix(); CPDF_TextRenderer::DrawTextPath( - &text_device, textobj->m_CharCodes, textobj->m_CharPos, + &text_device, textobj->GetCharCodes(), textobj->GetCharPositions(), textobj->m_TextState.GetFont(), textobj->m_TextState.GetFontSize(), &text_matrix, &new_matrix, textobj->m_GraphState.GetObject(), (FX_ARGB)-1, 0, nullptr, 0); @@ -1712,7 +1712,7 @@ void CPDF_RenderStatus::DebugVerifyDeviceIsPreMultiplied() const { bool CPDF_RenderStatus::ProcessText(CPDF_TextObject* textobj, const CFX_Matrix* pObj2Device, CFX_PathData* pClippingPath) { - if (textobj->m_CharCodes.empty()) + if (textobj->GetCharCodes().empty()) return true; const TextRenderingMode text_render_mode = textobj->m_TextState.GetTextMode(); @@ -1805,14 +1805,15 @@ bool CPDF_RenderStatus::ProcessText(CPDF_TextObject* textobj, if (m_Options.m_Flags & RENDER_NOTEXTSMOOTH) flag |= FXFILL_NOPATHSMOOTH; return CPDF_TextRenderer::DrawTextPath( - m_pDevice, textobj->m_CharCodes, textobj->m_CharPos, pFont, font_size, - &text_matrix, pDeviceMatrix, textobj->m_GraphState.GetObject(), - fill_argb, stroke_argb, pClippingPath, flag); + m_pDevice, textobj->GetCharCodes(), textobj->GetCharPositions(), pFont, + font_size, &text_matrix, pDeviceMatrix, + textobj->m_GraphState.GetObject(), fill_argb, stroke_argb, + pClippingPath, flag); } text_matrix.Concat(*pObj2Device); - return CPDF_TextRenderer::DrawNormalText(m_pDevice, textobj->m_CharCodes, - textobj->m_CharPos, pFont, font_size, - &text_matrix, fill_argb, &m_Options); + return CPDF_TextRenderer::DrawNormalText( + m_pDevice, textobj->GetCharCodes(), textobj->GetCharPositions(), pFont, + font_size, &text_matrix, fill_argb, &m_Options); } RetainPtr CPDF_RenderStatus::GetCachedType3( @@ -1844,14 +1845,14 @@ bool CPDF_RenderStatus::ProcessType3Text(CPDF_TextObject* textobj, int device_class = m_pDevice->GetDeviceClass(); std::vector glyphs; if (device_class == FXDC_DISPLAY) - glyphs.resize(textobj->m_CharCodes.size()); + glyphs.resize(textobj->GetCharCodes().size()); else if (fill_alpha < 255) return false; CPDF_RefType3Cache refTypeCache(pType3Font); - for (int iChar = 0; iChar < pdfium::CollectionSize(textobj->m_CharCodes); - iChar++) { - uint32_t charcode = textobj->m_CharCodes[iChar]; + for (int iChar = 0; + iChar < pdfium::CollectionSize(textobj->GetCharCodes()); iChar++) { + uint32_t charcode = textobj->GetCharCodes()[iChar]; if (charcode == static_cast(-1)) continue; @@ -1860,7 +1861,7 @@ bool CPDF_RenderStatus::ProcessType3Text(CPDF_TextObject* textobj, continue; CFX_Matrix matrix = char_matrix; - matrix.e += iChar ? textobj->m_CharPos[iChar - 1] : 0; + matrix.e += iChar ? textobj->GetCharPositions()[iChar - 1] : 0; matrix.Concat(text_matrix); matrix.Concat(*pObj2Device); if (!pType3Char->LoadBitmap(m_pContext.Get())) { @@ -2014,7 +2015,8 @@ void CPDF_RenderStatus::DrawTextPathWithPattern(const CPDF_TextObject* textobj, return; } CPDF_CharPosList CharPosList; - CharPosList.Load(textobj->m_CharCodes, textobj->m_CharPos, pFont, font_size); + CharPosList.Load(textobj->GetCharCodes(), textobj->GetCharPositions(), pFont, + font_size); for (uint32_t i = 0; i < CharPosList.m_nChars; i++) { FXTEXT_CHARPOS& charpos = CharPosList.m_pCharPos[i]; auto* font = charpos.m_FallbackFontPosition == -1 -- cgit v1.2.3