summaryrefslogtreecommitdiff
path: root/core/fpdfapi/page/cpdf_contentmark.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/page/cpdf_contentmark.cpp')
-rw-r--r--core/fpdfapi/page/cpdf_contentmark.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/core/fpdfapi/page/cpdf_contentmark.cpp b/core/fpdfapi/page/cpdf_contentmark.cpp
index 1d70edeb51..c54ef55b1f 100644
--- a/core/fpdfapi/page/cpdf_contentmark.cpp
+++ b/core/fpdfapi/page/cpdf_contentmark.cpp
@@ -25,6 +25,11 @@ const CPDF_ContentMarkItem& CPDF_ContentMark::GetItem(size_t i) const {
return m_Ref.GetObject()->GetItem(i);
}
+int CPDF_ContentMark::GetMarkedContentID() const {
+ const MarkData* pData = m_Ref.GetObject();
+ return pData ? pData->GetMarkedContentID() : -1;
+}
+
void CPDF_ContentMark::AddMark(const ByteString& name,
CPDF_Dictionary* pDict,
bool bDirect) {
@@ -53,6 +58,15 @@ const CPDF_ContentMarkItem& CPDF_ContentMark::MarkData::GetItem(
return m_Marks[index];
}
+int CPDF_ContentMark::MarkData::GetMarkedContentID() const {
+ for (const auto& mark : m_Marks) {
+ const CPDF_Dictionary* pDict = mark.GetParam();
+ if (pDict && pDict->KeyExist("MCID"))
+ return pDict->GetIntegerFor("MCID");
+ }
+ return -1;
+}
+
void CPDF_ContentMark::MarkData::AddMark(const ByteString& name,
CPDF_Dictionary* pDict,
bool bDirect) {