summaryrefslogtreecommitdiff
path: root/core/fpdfdoc/doc_ocg.cpp
diff options
context:
space:
mode:
authordsinclair <dsinclair@chromium.org>2016-04-26 13:13:20 -0700
committerCommit bot <commit-bot@chromium.org>2016-04-26 13:13:20 -0700
commitd647a6b2e3fbd2711273637e5a56e659a113d2e9 (patch)
tree91c3a2865fe5abeed901d4a5c392afa95205eed4 /core/fpdfdoc/doc_ocg.cpp
parent518fd4c5ababbfbf28e010a9c27098e8f6669e4b (diff)
downloadpdfium-d647a6b2e3fbd2711273637e5a56e659a113d2e9.tar.xz
Remove several IPDF_ interfaces and CPDF_RenderModule.
This CL removes the interfaces: * IPDF_ObjectRenderer * IPDF_OCContext * IPDF_RenderModule * IPDF_PageModule The CPDF_RenderModule was just wrapping new and delete calls. This Cl moves those up to the callers and removes the CPDF_RenderModule class. Review URL: https://codereview.chromium.org/1918323003
Diffstat (limited to 'core/fpdfdoc/doc_ocg.cpp')
-rw-r--r--core/fpdfdoc/doc_ocg.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/core/fpdfdoc/doc_ocg.cpp b/core/fpdfdoc/doc_ocg.cpp
index bea3c2ce33..bc5c00b540 100644
--- a/core/fpdfdoc/doc_ocg.cpp
+++ b/core/fpdfdoc/doc_ocg.cpp
@@ -4,6 +4,8 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+#include "core/fpdfapi/fpdf_page/cpdf_contentmarkdata.h"
+#include "core/fpdfapi/fpdf_page/include/cpdf_pageobject.h"
#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
#include "core/fpdfdoc/include/fpdf_doc.h"
@@ -181,6 +183,19 @@ FX_BOOL CPDF_OCContext::GetOCGVisible(const CPDF_Dictionary* pOCGDict) {
return bState;
}
+FX_BOOL CPDF_OCContext::CheckObjectVisible(const CPDF_PageObject* pObj) {
+ const CPDF_ContentMarkData* pData = pObj->m_ContentMark;
+ for (int i = 0; i < pData->CountItems(); i++) {
+ const CPDF_ContentMarkItem& item = pData->GetItem(i);
+ if (item.GetName() == "OC" &&
+ item.GetParamType() == CPDF_ContentMarkItem::PropertiesDict &&
+ !CheckOCGVisible(item.GetParam())) {
+ return FALSE;
+ }
+ }
+ return TRUE;
+}
+
FX_BOOL CPDF_OCContext::GetOCGVE(CPDF_Array* pExpression,
FX_BOOL bFromConfig,
int nLevel) {