summaryrefslogtreecommitdiff
path: root/core/src/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2016-02-17 16:46:26 -0800
committerTom Sepez <tsepez@chromium.org>2016-02-17 16:46:26 -0800
commit2398d8938277a2492b411f8f807bf1935918ccae (patch)
tree0f8c13509e23d6a0ea80d461ab803fae62a4638f /core/src/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp
parentefbc1912f10f5a53e7df3a24ebfd6b78412f0bba (diff)
downloadpdfium-2398d8938277a2492b411f8f807bf1935918ccae.tar.xz
Remove CFX_PtrList from renderer main loop.
Exposes an iterator over the object list, but not the object holder, since pages and forms inherit from object holder, and we don't want to imply that there's only one thing that might be iterated over for those classes. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1700183002 .
Diffstat (limited to 'core/src/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp')
-rw-r--r--core/src/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp20
1 files changed, 9 insertions, 11 deletions
diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp
index 7fa3286e11..20f0c39c25 100644
--- a/core/src/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp
+++ b/core/src/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp
@@ -666,7 +666,7 @@ bool CPDF_StreamParser::PositionIsInBounds() const {
CPDF_ContentParser::CPDF_ContentParser()
: m_Status(Ready),
m_InternalStage(STAGE_GETCONTENT),
- m_pObjects(nullptr),
+ m_pObjectHolder(nullptr),
m_bForm(false),
m_pType3Char(nullptr),
m_pData(nullptr),
@@ -684,7 +684,7 @@ void CPDF_ContentParser::Start(CPDF_Page* pPage, CPDF_ParseOptions* pOptions) {
m_Status = Done;
return;
}
- m_pObjects = pPage;
+ m_pObjectHolder = pPage;
m_bForm = FALSE;
if (pOptions) {
m_Options = *pOptions;
@@ -720,7 +720,7 @@ void CPDF_ContentParser::Start(CPDF_Form* pForm,
CPDF_ParseOptions* pOptions,
int level) {
m_pType3Char = pType3Char;
- m_pObjects = pForm;
+ m_pObjectHolder = pForm;
m_bForm = TRUE;
CFX_Matrix form_matrix = pForm->m_pFormDict->GetMatrixBy("Matrix");
if (pGraphicStates) {
@@ -803,7 +803,8 @@ void CPDF_ContentParser::Continue(IFX_Pause* pPause) {
m_InternalStage = STAGE_PARSE;
m_CurrentOffset = 0;
} else {
- CPDF_Array* pContent = m_pObjects->m_pFormDict->GetArrayBy("Contents");
+ CPDF_Array* pContent =
+ m_pObjectHolder->m_pFormDict->GetArrayBy("Contents");
m_StreamArray[m_CurrentOffset].reset(new CPDF_StreamAcc);
CPDF_Stream* pStreamObj = ToStream(
pContent ? pContent->GetElementValue(m_CurrentOffset) : nullptr);
@@ -814,9 +815,9 @@ void CPDF_ContentParser::Continue(IFX_Pause* pPause) {
if (m_InternalStage == STAGE_PARSE) {
if (!m_pParser) {
m_pParser.reset(new CPDF_StreamContentParser(
- m_pObjects->m_pDocument, m_pObjects->m_pPageResources, nullptr,
- nullptr, m_pObjects, m_pObjects->m_pResources, &m_pObjects->m_BBox,
- &m_Options, nullptr, 0));
+ m_pObjectHolder->m_pDocument, m_pObjectHolder->m_pPageResources,
+ nullptr, nullptr, m_pObjectHolder, m_pObjectHolder->m_pResources,
+ &m_pObjectHolder->m_BBox, &m_Options, nullptr, 0));
m_pParser->GetCurStates()->m_ColorState.GetModify()->Default();
}
if (m_CurrentOffset >= m_Size) {
@@ -841,10 +842,7 @@ void CPDF_ContentParser::Continue(IFX_Pause* pPause) {
m_pType3Char->m_BBox.top =
FXSYS_round(m_pParser->GetType3Data()[5] * 1000);
}
- FX_POSITION pos = m_pObjects->GetPageObjectList()->GetHeadPosition();
- while (pos) {
- CPDF_PageObject* pObj =
- m_pObjects->GetPageObjectList()->GetNextObject(pos);
+ for (auto& pObj : *m_pObjectHolder->GetPageObjectList()) {
if (pObj->m_ClipPath.IsNull()) {
continue;
}