Rename CPDF_ContentMark to CPDF_ContentMarks.
Also change variable names and member names of this type.
This better reflects the fact that this class contains all the marks
in a page objects, not just one mark.
Change-Id: I4fe3d2620e78cbe423f18634f19fa82530d7efe1
Reviewed-on: https://pdfium-review.googlesource.com/c/43813
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
diff --git a/BUILD.gn b/BUILD.gn
index da23f0b..e0762c0 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -521,10 +521,10 @@
"core/fpdfapi/page/cpdf_colorspace.h",
"core/fpdfapi/page/cpdf_colorstate.cpp",
"core/fpdfapi/page/cpdf_colorstate.h",
- "core/fpdfapi/page/cpdf_contentmark.cpp",
- "core/fpdfapi/page/cpdf_contentmark.h",
"core/fpdfapi/page/cpdf_contentmarkitem.cpp",
"core/fpdfapi/page/cpdf_contentmarkitem.h",
+ "core/fpdfapi/page/cpdf_contentmarks.cpp",
+ "core/fpdfapi/page/cpdf_contentmarks.h",
"core/fpdfapi/page/cpdf_contentparser.cpp",
"core/fpdfapi/page/cpdf_contentparser.h",
"core/fpdfapi/page/cpdf_countedobject.h",
diff --git a/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp b/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp
index 946364d..b0f0ca6 100644
--- a/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp
+++ b/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp
@@ -15,7 +15,7 @@
#include "core/fpdfapi/edit/cpdf_pagecontentmanager.h"
#include "core/fpdfapi/edit/cpdf_stringarchivestream.h"
#include "core/fpdfapi/font/cpdf_font.h"
-#include "core/fpdfapi/page/cpdf_contentmark.h"
+#include "core/fpdfapi/page/cpdf_contentmarks.h"
#include "core/fpdfapi/page/cpdf_docpagedata.h"
#include "core/fpdfapi/page/cpdf_image.h"
#include "core/fpdfapi/page/cpdf_imageobject.h"
@@ -97,9 +97,9 @@
// Start regenerating dirty streams.
std::map<int32_t, std::unique_ptr<std::ostringstream>> streams;
std::set<int32_t> empty_streams;
- std::unique_ptr<const CPDF_ContentMark> empty_content_mark =
- pdfium::MakeUnique<CPDF_ContentMark>();
- std::map<int32_t, const CPDF_ContentMark*> current_content_mark;
+ std::unique_ptr<const CPDF_ContentMarks> empty_content_marks =
+ pdfium::MakeUnique<CPDF_ContentMarks>();
+ std::map<int32_t, const CPDF_ContentMarks*> current_content_marks;
for (int32_t dirty_stream : all_dirty_streams) {
std::unique_ptr<std::ostringstream> buf =
@@ -114,7 +114,7 @@
streams[dirty_stream] = std::move(buf);
empty_streams.insert(dirty_stream);
- current_content_mark[dirty_stream] = empty_content_mark.get();
+ current_content_marks[dirty_stream] = empty_content_marks.get();
}
// Process the page objects, write into each dirty stream.
@@ -126,8 +126,8 @@
std::ostringstream* buf = it->second.get();
empty_streams.erase(stream_index);
- current_content_mark[stream_index] = ProcessContentMarks(
- buf, pPageObj.Get(), current_content_mark[stream_index]);
+ current_content_marks[stream_index] = ProcessContentMarks(
+ buf, pPageObj.Get(), current_content_marks[stream_index]);
ProcessPageObject(buf, pPageObj.Get());
}
@@ -138,7 +138,7 @@
// Clear to show that this stream needs to be deleted.
buf->str("");
} else {
- FinishMarks(buf, current_content_mark[dirty_stream]);
+ FinishMarks(buf, current_content_marks[dirty_stream]);
// Return graphics to original state
*buf << "Q\n";
@@ -212,19 +212,19 @@
bool CPDF_PageContentGenerator::ProcessPageObjects(std::ostringstream* buf) {
bool bDirty = false;
- std::unique_ptr<const CPDF_ContentMark> empty_content_mark =
- pdfium::MakeUnique<CPDF_ContentMark>();
- const CPDF_ContentMark* content_mark = empty_content_mark.get();
+ std::unique_ptr<const CPDF_ContentMarks> empty_content_marks =
+ pdfium::MakeUnique<CPDF_ContentMarks>();
+ const CPDF_ContentMarks* content_marks = empty_content_marks.get();
for (auto& pPageObj : m_pageObjects) {
if (m_pObjHolder->IsPage() && !pPageObj->IsDirty())
continue;
bDirty = true;
- content_mark = ProcessContentMarks(buf, pPageObj.Get(), content_mark);
+ content_marks = ProcessContentMarks(buf, pPageObj.Get(), content_marks);
ProcessPageObject(buf, pPageObj.Get());
}
- FinishMarks(buf, content_mark);
+ FinishMarks(buf, content_marks);
return bDirty;
}
@@ -236,11 +236,11 @@
}
}
-const CPDF_ContentMark* CPDF_PageContentGenerator::ProcessContentMarks(
+const CPDF_ContentMarks* CPDF_PageContentGenerator::ProcessContentMarks(
std::ostringstream* buf,
const CPDF_PageObject* pPageObj,
- const CPDF_ContentMark* pPrev) {
- const CPDF_ContentMark* pNext = &pPageObj->m_ContentMark;
+ const CPDF_ContentMarks* pPrev) {
+ const CPDF_ContentMarks* pNext = &pPageObj->m_ContentMarks;
size_t first_different = pPrev->FindFirstDifference(pNext);
@@ -290,11 +290,11 @@
void CPDF_PageContentGenerator::FinishMarks(
std::ostringstream* buf,
- const CPDF_ContentMark* pContentMark) {
+ const CPDF_ContentMarks* pContentMarks) {
// Technically we should iterate backwards to close from the top to the
// bottom, but since the EMC operators do not identify which mark they are
// closing, it does not matter.
- for (size_t i = 0; i < pContentMark->CountItems(); ++i)
+ for (size_t i = 0; i < pContentMarks->CountItems(); ++i)
*buf << "EMC\n";
}
diff --git a/core/fpdfapi/edit/cpdf_pagecontentgenerator.h b/core/fpdfapi/edit/cpdf_pagecontentgenerator.h
index 029a779..ead3950 100644
--- a/core/fpdfapi/edit/cpdf_pagecontentgenerator.h
+++ b/core/fpdfapi/edit/cpdf_pagecontentgenerator.h
@@ -16,7 +16,7 @@
#include "core/fxcrt/fx_system.h"
#include "core/fxcrt/unowned_ptr.h"
-class CPDF_ContentMark;
+class CPDF_ContentMarks;
class CPDF_Document;
class CPDF_ImageObject;
class CPDF_Object;
@@ -45,11 +45,11 @@
ByteString GetOrCreateDefaultGraphics() const;
ByteString RealizeResource(const CPDF_Object* pResource,
const ByteString& bsType) const;
- const CPDF_ContentMark* ProcessContentMarks(std::ostringstream* buf,
- const CPDF_PageObject* pPageObj,
- const CPDF_ContentMark* pPrev);
+ const CPDF_ContentMarks* ProcessContentMarks(std::ostringstream* buf,
+ const CPDF_PageObject* pPageObj,
+ const CPDF_ContentMarks* pPrev);
void FinishMarks(std::ostringstream* buf,
- const CPDF_ContentMark* pContentMark);
+ const CPDF_ContentMarks* pContentMarks);
// Returns a map from content stream index to new stream data. Unmodified
// streams are not touched.
diff --git a/core/fpdfapi/page/cpdf_contentmark.cpp b/core/fpdfapi/page/cpdf_contentmark.cpp
deleted file mode 100644
index c1cdf39..0000000
--- a/core/fpdfapi/page/cpdf_contentmark.cpp
+++ /dev/null
@@ -1,171 +0,0 @@
-// Copyright 2016 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#include "core/fpdfapi/page/cpdf_contentmark.h"
-
-#include <algorithm>
-#include <utility>
-
-#include "core/fpdfapi/parser/cpdf_dictionary.h"
-#include "third_party/base/ptr_util.h"
-
-CPDF_ContentMark::CPDF_ContentMark() {}
-
-CPDF_ContentMark::~CPDF_ContentMark() {}
-
-std::unique_ptr<CPDF_ContentMark> CPDF_ContentMark::Clone() {
- auto result = pdfium::MakeUnique<CPDF_ContentMark>();
- if (m_pMarkData)
- result->m_pMarkData = pdfium::MakeRetain<MarkData>(*m_pMarkData);
- return result;
-}
-
-size_t CPDF_ContentMark::CountItems() const {
- return m_pMarkData ? m_pMarkData->CountItems() : 0;
-}
-
-bool CPDF_ContentMark::ContainsItem(const CPDF_ContentMarkItem* pItem) const {
- return m_pMarkData && m_pMarkData->ContainsItem(pItem);
-}
-
-CPDF_ContentMarkItem* CPDF_ContentMark::GetItem(size_t index) {
- return const_cast<CPDF_ContentMarkItem*>(
- static_cast<const CPDF_ContentMark*>(this)->GetItem(index));
-}
-
-const CPDF_ContentMarkItem* CPDF_ContentMark::GetItem(size_t index) const {
- ASSERT(index < CountItems());
- return m_pMarkData->GetItem(index);
-}
-
-int CPDF_ContentMark::GetMarkedContentID() const {
- return m_pMarkData ? m_pMarkData->GetMarkedContentID() : -1;
-}
-
-void CPDF_ContentMark::AddMark(ByteString name) {
- EnsureMarkDataExists();
- m_pMarkData->AddMark(std::move(name));
-}
-
-void CPDF_ContentMark::AddMarkWithDirectDict(ByteString name,
- CPDF_Dictionary* pDict) {
- EnsureMarkDataExists();
- m_pMarkData->AddMarkWithDirectDict(std::move(name), pDict);
-}
-
-void CPDF_ContentMark::AddMarkWithPropertiesDict(
- ByteString name,
- CPDF_Dictionary* pDict,
- const ByteString& property_name) {
- EnsureMarkDataExists();
- m_pMarkData->AddMarkWithPropertiesDict(std::move(name), pDict, property_name);
-}
-
-bool CPDF_ContentMark::RemoveMark(CPDF_ContentMarkItem* pMarkItem) {
- return m_pMarkData && m_pMarkData->RemoveMark(pMarkItem);
-}
-
-void CPDF_ContentMark::EnsureMarkDataExists() {
- if (!m_pMarkData)
- m_pMarkData = pdfium::MakeRetain<MarkData>();
-}
-
-void CPDF_ContentMark::DeleteLastMark() {
- if (!m_pMarkData)
- return;
-
- m_pMarkData->DeleteLastMark();
- if (CountItems() == 0)
- m_pMarkData.Reset();
-}
-
-size_t CPDF_ContentMark::FindFirstDifference(
- const CPDF_ContentMark* other) const {
- if (m_pMarkData == other->m_pMarkData)
- return CountItems();
-
- size_t min_len = std::min(CountItems(), other->CountItems());
-
- for (size_t i = 0; i < min_len; ++i) {
- if (GetItem(i) != other->GetItem(i))
- return i;
- }
- return min_len;
-}
-
-CPDF_ContentMark::MarkData::MarkData() {}
-
-CPDF_ContentMark::MarkData::MarkData(const MarkData& src)
- : m_Marks(src.m_Marks) {}
-
-CPDF_ContentMark::MarkData::~MarkData() {}
-
-size_t CPDF_ContentMark::MarkData::CountItems() const {
- return m_Marks.size();
-}
-
-bool CPDF_ContentMark::MarkData::ContainsItem(
- const CPDF_ContentMarkItem* pItem) const {
- for (const auto pMark : m_Marks) {
- if (pMark.Get() == pItem)
- return true;
- }
- return false;
-}
-
-CPDF_ContentMarkItem* CPDF_ContentMark::MarkData::GetItem(size_t index) {
- return m_Marks[index].Get();
-}
-
-const CPDF_ContentMarkItem* CPDF_ContentMark::MarkData::GetItem(
- size_t index) const {
- return m_Marks[index].Get();
-}
-
-int CPDF_ContentMark::MarkData::GetMarkedContentID() const {
- for (const auto pMark : m_Marks) {
- const CPDF_Dictionary* pDict = pMark->GetParam();
- if (pDict && pDict->KeyExist("MCID"))
- return pDict->GetIntegerFor("MCID");
- }
- return -1;
-}
-
-void CPDF_ContentMark::MarkData::AddMark(ByteString name) {
- auto pItem = pdfium::MakeRetain<CPDF_ContentMarkItem>(std::move(name));
- m_Marks.push_back(pItem);
-}
-
-void CPDF_ContentMark::MarkData::AddMarkWithDirectDict(ByteString name,
- CPDF_Dictionary* pDict) {
- auto pItem = pdfium::MakeRetain<CPDF_ContentMarkItem>(std::move(name));
- pItem->SetDirectDict(ToDictionary(pDict->Clone()));
- m_Marks.push_back(pItem);
-}
-
-void CPDF_ContentMark::MarkData::AddMarkWithPropertiesDict(
- ByteString name,
- CPDF_Dictionary* pDict,
- const ByteString& property_name) {
- auto pItem = pdfium::MakeRetain<CPDF_ContentMarkItem>(std::move(name));
- pItem->SetPropertiesDict(pDict, property_name);
- m_Marks.push_back(pItem);
-}
-
-bool CPDF_ContentMark::MarkData::RemoveMark(CPDF_ContentMarkItem* pMarkItem) {
- for (auto it = m_Marks.begin(); it != m_Marks.end(); ++it) {
- if (it->Get() == pMarkItem) {
- m_Marks.erase(it);
- return true;
- }
- }
- return false;
-}
-
-void CPDF_ContentMark::MarkData::DeleteLastMark() {
- if (!m_Marks.empty())
- m_Marks.pop_back();
-}
diff --git a/core/fpdfapi/page/cpdf_contentmarks.cpp b/core/fpdfapi/page/cpdf_contentmarks.cpp
new file mode 100644
index 0000000..caaf6e3
--- /dev/null
+++ b/core/fpdfapi/page/cpdf_contentmarks.cpp
@@ -0,0 +1,172 @@
+// Copyright 2016 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#include "core/fpdfapi/page/cpdf_contentmarks.h"
+
+#include <algorithm>
+#include <utility>
+
+#include "core/fpdfapi/parser/cpdf_dictionary.h"
+#include "third_party/base/ptr_util.h"
+
+CPDF_ContentMarks::CPDF_ContentMarks() {}
+
+CPDF_ContentMarks::~CPDF_ContentMarks() {}
+
+std::unique_ptr<CPDF_ContentMarks> CPDF_ContentMarks::Clone() {
+ auto result = pdfium::MakeUnique<CPDF_ContentMarks>();
+ if (m_pMarkData)
+ result->m_pMarkData = pdfium::MakeRetain<MarkData>(*m_pMarkData);
+ return result;
+}
+
+size_t CPDF_ContentMarks::CountItems() const {
+ return m_pMarkData ? m_pMarkData->CountItems() : 0;
+}
+
+bool CPDF_ContentMarks::ContainsItem(const CPDF_ContentMarkItem* pItem) const {
+ return m_pMarkData && m_pMarkData->ContainsItem(pItem);
+}
+
+CPDF_ContentMarkItem* CPDF_ContentMarks::GetItem(size_t index) {
+ return const_cast<CPDF_ContentMarkItem*>(
+ static_cast<const CPDF_ContentMarks*>(this)->GetItem(index));
+}
+
+const CPDF_ContentMarkItem* CPDF_ContentMarks::GetItem(size_t index) const {
+ ASSERT(index < CountItems());
+ return m_pMarkData->GetItem(index);
+}
+
+int CPDF_ContentMarks::GetMarkedContentID() const {
+ return m_pMarkData ? m_pMarkData->GetMarkedContentID() : -1;
+}
+
+void CPDF_ContentMarks::AddMark(ByteString name) {
+ EnsureMarkDataExists();
+ m_pMarkData->AddMark(std::move(name));
+}
+
+void CPDF_ContentMarks::AddMarkWithDirectDict(ByteString name,
+ CPDF_Dictionary* pDict) {
+ EnsureMarkDataExists();
+ m_pMarkData->AddMarkWithDirectDict(std::move(name), pDict);
+}
+
+void CPDF_ContentMarks::AddMarkWithPropertiesDict(
+ ByteString name,
+ CPDF_Dictionary* pDict,
+ const ByteString& property_name) {
+ EnsureMarkDataExists();
+ m_pMarkData->AddMarkWithPropertiesDict(std::move(name), pDict, property_name);
+}
+
+bool CPDF_ContentMarks::RemoveMark(CPDF_ContentMarkItem* pMarkItem) {
+ return m_pMarkData && m_pMarkData->RemoveMark(pMarkItem);
+}
+
+void CPDF_ContentMarks::EnsureMarkDataExists() {
+ if (!m_pMarkData)
+ m_pMarkData = pdfium::MakeRetain<MarkData>();
+}
+
+void CPDF_ContentMarks::DeleteLastMark() {
+ if (!m_pMarkData)
+ return;
+
+ m_pMarkData->DeleteLastMark();
+ if (CountItems() == 0)
+ m_pMarkData.Reset();
+}
+
+size_t CPDF_ContentMarks::FindFirstDifference(
+ const CPDF_ContentMarks* other) const {
+ if (m_pMarkData == other->m_pMarkData)
+ return CountItems();
+
+ size_t min_len = std::min(CountItems(), other->CountItems());
+
+ for (size_t i = 0; i < min_len; ++i) {
+ if (GetItem(i) != other->GetItem(i))
+ return i;
+ }
+ return min_len;
+}
+
+CPDF_ContentMarks::MarkData::MarkData() {}
+
+CPDF_ContentMarks::MarkData::MarkData(const MarkData& src)
+ : m_Marks(src.m_Marks) {}
+
+CPDF_ContentMarks::MarkData::~MarkData() {}
+
+size_t CPDF_ContentMarks::MarkData::CountItems() const {
+ return m_Marks.size();
+}
+
+bool CPDF_ContentMarks::MarkData::ContainsItem(
+ const CPDF_ContentMarkItem* pItem) const {
+ for (const auto pMark : m_Marks) {
+ if (pMark.Get() == pItem)
+ return true;
+ }
+ return false;
+}
+
+CPDF_ContentMarkItem* CPDF_ContentMarks::MarkData::GetItem(size_t index) {
+ return m_Marks[index].Get();
+}
+
+const CPDF_ContentMarkItem* CPDF_ContentMarks::MarkData::GetItem(
+ size_t index) const {
+ return m_Marks[index].Get();
+}
+
+int CPDF_ContentMarks::MarkData::GetMarkedContentID() const {
+ for (const auto pMark : m_Marks) {
+ const CPDF_Dictionary* pDict = pMark->GetParam();
+ if (pDict && pDict->KeyExist("MCID"))
+ return pDict->GetIntegerFor("MCID");
+ }
+ return -1;
+}
+
+void CPDF_ContentMarks::MarkData::AddMark(ByteString name) {
+ auto pItem = pdfium::MakeRetain<CPDF_ContentMarkItem>(std::move(name));
+ m_Marks.push_back(pItem);
+}
+
+void CPDF_ContentMarks::MarkData::AddMarkWithDirectDict(
+ ByteString name,
+ CPDF_Dictionary* pDict) {
+ auto pItem = pdfium::MakeRetain<CPDF_ContentMarkItem>(std::move(name));
+ pItem->SetDirectDict(ToDictionary(pDict->Clone()));
+ m_Marks.push_back(pItem);
+}
+
+void CPDF_ContentMarks::MarkData::AddMarkWithPropertiesDict(
+ ByteString name,
+ CPDF_Dictionary* pDict,
+ const ByteString& property_name) {
+ auto pItem = pdfium::MakeRetain<CPDF_ContentMarkItem>(std::move(name));
+ pItem->SetPropertiesDict(pDict, property_name);
+ m_Marks.push_back(pItem);
+}
+
+bool CPDF_ContentMarks::MarkData::RemoveMark(CPDF_ContentMarkItem* pMarkItem) {
+ for (auto it = m_Marks.begin(); it != m_Marks.end(); ++it) {
+ if (it->Get() == pMarkItem) {
+ m_Marks.erase(it);
+ return true;
+ }
+ }
+ return false;
+}
+
+void CPDF_ContentMarks::MarkData::DeleteLastMark() {
+ if (!m_Marks.empty())
+ m_Marks.pop_back();
+}
diff --git a/core/fpdfapi/page/cpdf_contentmark.h b/core/fpdfapi/page/cpdf_contentmarks.h
similarity index 85%
rename from core/fpdfapi/page/cpdf_contentmark.h
rename to core/fpdfapi/page/cpdf_contentmarks.h
index 1395db1..335592b 100644
--- a/core/fpdfapi/page/cpdf_contentmark.h
+++ b/core/fpdfapi/page/cpdf_contentmarks.h
@@ -4,8 +4,8 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_FPDFAPI_PAGE_CPDF_CONTENTMARK_H_
-#define CORE_FPDFAPI_PAGE_CPDF_CONTENTMARK_H_
+#ifndef CORE_FPDFAPI_PAGE_CPDF_CONTENTMARKS_H_
+#define CORE_FPDFAPI_PAGE_CPDF_CONTENTMARKS_H_
#include <memory>
#include <vector>
@@ -16,12 +16,12 @@
class CPDF_Dictionary;
-class CPDF_ContentMark {
+class CPDF_ContentMarks {
public:
- CPDF_ContentMark();
- ~CPDF_ContentMark();
+ CPDF_ContentMarks();
+ ~CPDF_ContentMarks();
- std::unique_ptr<CPDF_ContentMark> Clone();
+ std::unique_ptr<CPDF_ContentMarks> Clone();
int GetMarkedContentID() const;
size_t CountItems() const;
bool ContainsItem(const CPDF_ContentMarkItem* pItem) const;
@@ -37,7 +37,7 @@
const ByteString& property_name);
bool RemoveMark(CPDF_ContentMarkItem* pMarkItem);
void DeleteLastMark();
- size_t FindFirstDifference(const CPDF_ContentMark* other) const;
+ size_t FindFirstDifference(const CPDF_ContentMarks* other) const;
private:
class MarkData final : public Retainable {
@@ -69,4 +69,4 @@
RetainPtr<MarkData> m_pMarkData;
};
-#endif // CORE_FPDFAPI_PAGE_CPDF_CONTENTMARK_H_
+#endif // CORE_FPDFAPI_PAGE_CPDF_CONTENTMARKS_H_
diff --git a/core/fpdfapi/page/cpdf_pageobject.h b/core/fpdfapi/page/cpdf_pageobject.h
index 013ef0d..6bbaff3 100644
--- a/core/fpdfapi/page/cpdf_pageobject.h
+++ b/core/fpdfapi/page/cpdf_pageobject.h
@@ -7,7 +7,7 @@
#ifndef CORE_FPDFAPI_PAGE_CPDF_PAGEOBJECT_H_
#define CORE_FPDFAPI_PAGE_CPDF_PAGEOBJECT_H_
-#include "core/fpdfapi/page/cpdf_contentmark.h"
+#include "core/fpdfapi/page/cpdf_contentmarks.h"
#include "core/fpdfapi/page/cpdf_graphicstates.h"
#include "core/fxcrt/fx_coordinates.h"
#include "core/fxcrt/fx_system.h"
@@ -74,7 +74,7 @@
m_ContentStream = new_content_stream;
}
- CPDF_ContentMark m_ContentMark;
+ CPDF_ContentMarks m_ContentMarks;
protected:
void CopyData(const CPDF_PageObject* pSrcObject);
diff --git a/core/fpdfapi/page/cpdf_streamcontentparser.cpp b/core/fpdfapi/page/cpdf_streamcontentparser.cpp
index b381705..d84d4d6 100644
--- a/core/fpdfapi/page/cpdf_streamcontentparser.cpp
+++ b/core/fpdfapi/page/cpdf_streamcontentparser.cpp
@@ -290,7 +290,7 @@
}
// Add the sentinel.
- m_ContentMarksStack.push(pdfium::MakeUnique<CPDF_ContentMark>());
+ m_ContentMarksStack.push(pdfium::MakeUnique<CPDF_ContentMarks>());
}
CPDF_StreamContentParser::~CPDF_StreamContentParser() {
@@ -428,7 +428,7 @@
bool bGraph) {
pObj->m_GeneralState = m_pCurStates->m_GeneralState;
pObj->m_ClipPath = m_pCurStates->m_ClipPath;
- pObj->m_ContentMark = *m_ContentMarksStack.top();
+ pObj->m_ContentMarks = *m_ContentMarksStack.top();
if (bColor) {
pObj->m_ColorState = m_pCurStates->m_ColorState;
}
@@ -602,7 +602,7 @@
return;
}
if (CPDF_Dictionary* pDict = pProperty->AsDictionary()) {
- std::unique_ptr<CPDF_ContentMark> new_marks =
+ std::unique_ptr<CPDF_ContentMarks> new_marks =
m_ContentMarksStack.top()->Clone();
if (bIndirect) {
new_marks->AddMarkWithPropertiesDict(std::move(tag), pDict,
@@ -675,7 +675,7 @@
}
void CPDF_StreamContentParser::Handle_BeginMarkedContent() {
- std::unique_ptr<CPDF_ContentMark> new_marks =
+ std::unique_ptr<CPDF_ContentMarks> new_marks =
m_ContentMarksStack.top()->Clone();
new_marks->AddMark(GetString(0));
m_ContentMarksStack.push(std::move(new_marks));
diff --git a/core/fpdfapi/page/cpdf_streamcontentparser.h b/core/fpdfapi/page/cpdf_streamcontentparser.h
index d9239fd..05556ff 100644
--- a/core/fpdfapi/page/cpdf_streamcontentparser.h
+++ b/core/fpdfapi/page/cpdf_streamcontentparser.h
@@ -13,7 +13,7 @@
#include <stack>
#include <vector>
-#include "core/fpdfapi/page/cpdf_contentmark.h"
+#include "core/fpdfapi/page/cpdf_contentmarks.h"
#include "core/fpdfapi/parser/cpdf_stream.h"
#include "core/fxcrt/fx_number.h"
#include "core/fxcrt/fx_string.h"
@@ -213,7 +213,7 @@
uint32_t m_ParamCount;
UnownedPtr<CPDF_StreamParser> m_pSyntax;
std::unique_ptr<CPDF_AllStates> m_pCurStates;
- std::stack<std::unique_ptr<CPDF_ContentMark>> m_ContentMarksStack;
+ std::stack<std::unique_ptr<CPDF_ContentMarks>> m_ContentMarksStack;
std::vector<std::unique_ptr<CPDF_TextObject>> m_ClipTextList;
UnownedPtr<CPDF_TextObject> m_pLastTextObject;
float m_DefFontSize;
diff --git a/core/fpdfdoc/cpdf_occontext.cpp b/core/fpdfdoc/cpdf_occontext.cpp
index f1a83b0..4116fdb 100644
--- a/core/fpdfdoc/cpdf_occontext.cpp
+++ b/core/fpdfdoc/cpdf_occontext.cpp
@@ -182,8 +182,8 @@
}
bool CPDF_OCContext::CheckObjectVisible(const CPDF_PageObject* pObj) {
- for (size_t i = 0; i < pObj->m_ContentMark.CountItems(); ++i) {
- const CPDF_ContentMarkItem* item = pObj->m_ContentMark.GetItem(i);
+ for (size_t i = 0; i < pObj->m_ContentMarks.CountItems(); ++i) {
+ const CPDF_ContentMarkItem* item = pObj->m_ContentMarks.GetItem(i);
if (item->GetName() == "OC" &&
item->GetParamType() == CPDF_ContentMarkItem::PropertiesDict &&
!CheckOCGVisible(item->GetParam())) {
diff --git a/core/fpdftext/cpdf_textpage.cpp b/core/fpdftext/cpdf_textpage.cpp
index 77eae4d..259167b 100644
--- a/core/fpdftext/cpdf_textpage.cpp
+++ b/core/fpdftext/cpdf_textpage.cpp
@@ -820,15 +820,15 @@
FPDFText_MarkedContent CPDF_TextPage::PreMarkedContent(PDFTEXT_Obj Obj) {
CPDF_TextObject* pTextObj = Obj.m_pTextObj.Get();
- size_t nContentMark = pTextObj->m_ContentMark.CountItems();
- if (nContentMark == 0)
+ size_t nContentMarks = pTextObj->m_ContentMarks.CountItems();
+ if (nContentMarks == 0)
return FPDFText_MarkedContent::Pass;
WideString actText;
bool bExist = false;
const CPDF_Dictionary* pDict = nullptr;
- for (size_t i = 0; i < nContentMark; ++i) {
- const CPDF_ContentMarkItem* item = pTextObj->m_ContentMark.GetItem(i);
+ for (size_t i = 0; i < nContentMarks; ++i) {
+ const CPDF_ContentMarkItem* item = pTextObj->m_ContentMarks.GetItem(i);
pDict = item->GetParam();
if (!pDict)
continue;
@@ -842,9 +842,9 @@
return FPDFText_MarkedContent::Pass;
if (m_pPreTextObj) {
- const CPDF_ContentMark& mark = m_pPreTextObj->m_ContentMark;
- if (mark.CountItems() == nContentMark &&
- mark.GetItem(nContentMark - 1)->GetParam() == pDict) {
+ const CPDF_ContentMarks& marks = m_pPreTextObj->m_ContentMarks;
+ if (marks.CountItems() == nContentMarks &&
+ marks.GetItem(nContentMarks - 1)->GetParam() == pDict) {
return FPDFText_MarkedContent::Done;
}
}
@@ -880,13 +880,13 @@
void CPDF_TextPage::ProcessMarkedContent(PDFTEXT_Obj Obj) {
CPDF_TextObject* pTextObj = Obj.m_pTextObj.Get();
- size_t nContentMark = pTextObj->m_ContentMark.CountItems();
- if (nContentMark == 0)
+ size_t nContentMarks = pTextObj->m_ContentMarks.CountItems();
+ if (nContentMarks == 0)
return;
WideString actText;
- for (size_t n = 0; n < nContentMark; ++n) {
- const CPDF_ContentMarkItem* item = pTextObj->m_ContentMark.GetItem(n);
+ for (size_t n = 0; n < nContentMarks; ++n) {
+ const CPDF_ContentMarkItem* item = pTextObj->m_ContentMarks.GetItem(n);
const CPDF_Dictionary* pDict = item->GetParam();
if (pDict)
actText = pDict->GetUnicodeTextFor("ActualText");
diff --git a/fpdfsdk/fpdf_editimg.cpp b/fpdfsdk/fpdf_editimg.cpp
index 231ec6d..aaa1c46 100644
--- a/fpdfsdk/fpdf_editimg.cpp
+++ b/fpdfsdk/fpdf_editimg.cpp
@@ -292,7 +292,7 @@
if (!pImg)
return false;
- metadata->marked_content_id = pObj->m_ContentMark.GetMarkedContentID();
+ metadata->marked_content_id = pObj->m_ContentMarks.GetMarkedContentID();
const int nPixelWidth = pImg->GetPixelWidth();
const int nPixelHeight = pImg->GetPixelHeight();
diff --git a/fpdfsdk/fpdf_editpage.cpp b/fpdfsdk/fpdf_editpage.cpp
index 17a6b63..77d0305 100644
--- a/fpdfsdk/fpdf_editpage.cpp
+++ b/fpdfsdk/fpdf_editpage.cpp
@@ -130,7 +130,7 @@
FPDF_PAGEOBJECTMARK mark) {
const CPDF_ContentMarkItem* pMarkItem =
CPDFContentMarkItemFromFPDFPageObjectMark(mark);
- return pMarkItem && pPageObj->m_ContentMark.ContainsItem(pMarkItem);
+ return pMarkItem && pPageObj->m_ContentMarks.ContainsItem(pMarkItem);
}
unsigned int GetUnsignedAlpha(float alpha) {
@@ -301,7 +301,7 @@
return -1;
const auto& mark =
- CPDFPageObjectFromFPDFPageObject(page_object)->m_ContentMark;
+ CPDFPageObjectFromFPDFPageObject(page_object)->m_ContentMarks;
return mark.CountItems();
}
@@ -310,7 +310,7 @@
if (!page_object)
return nullptr;
- auto* mark = &CPDFPageObjectFromFPDFPageObject(page_object)->m_ContentMark;
+ auto* mark = &CPDFPageObjectFromFPDFPageObject(page_object)->m_ContentMarks;
if (index >= mark->CountItems())
return nullptr;
@@ -323,7 +323,7 @@
if (!pPageObj)
return nullptr;
- auto* mark = &pPageObj->m_ContentMark;
+ auto* mark = &pPageObj->m_ContentMarks;
mark->AddMark(name);
unsigned long index = mark->CountItems() - 1;
@@ -340,7 +340,7 @@
if (!pPageObj || !pMarkItem)
return false;
- bool result = pPageObj->m_ContentMark.RemoveMark(pMarkItem);
+ bool result = pPageObj->m_ContentMarks.RemoveMark(pMarkItem);
if (result)
pPageObj->SetDirty(true);