summaryrefslogtreecommitdiff
path: root/core/fpdfapi/include
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/include')
-rw-r--r--core/fpdfapi/include/cpdf_modulemgr.h18
-rw-r--r--core/fpdfapi/include/cpdf_pagerendercontext.h31
2 files changed, 46 insertions, 3 deletions
diff --git a/core/fpdfapi/include/cpdf_modulemgr.h b/core/fpdfapi/include/cpdf_modulemgr.h
index 95c5385e64..6e00385480 100644
--- a/core/fpdfapi/include/cpdf_modulemgr.h
+++ b/core/fpdfapi/include/cpdf_modulemgr.h
@@ -20,6 +20,17 @@ class CCodec_JpxModule;
class CCodec_ModuleMgr;
class CPDF_PageModule;
+class CFSDK_UnsupportInfo_Adapter {
+ public:
+ explicit CFSDK_UnsupportInfo_Adapter(void* unsp_info)
+ : m_unsp_info(unsp_info) {}
+
+ void* GetUnspInfo() const { return m_unsp_info; }
+
+ private:
+ void* const m_unsp_info;
+};
+
class CPDF_ModuleMgr {
public:
static CPDF_ModuleMgr* Get();
@@ -33,10 +44,11 @@ class CPDF_ModuleMgr {
void InitPageModule();
CPDF_PageModule* GetPageModule() const { return m_pPageModule.get(); }
- void SetUnsupportInfoAdapter(std::unique_ptr<CFX_Deletable> pAdapter) {
+ void SetUnsupportInfoAdapter(
+ std::unique_ptr<CFSDK_UnsupportInfo_Adapter> pAdapter) {
m_pUnsupportInfoAdapter = std::move(pAdapter);
}
- CFX_Deletable* GetUnsupportInfoAdapter() const {
+ CFSDK_UnsupportInfo_Adapter* GetUnsupportInfoAdapter() const {
return m_pUnsupportInfoAdapter.get();
}
@@ -58,7 +70,7 @@ class CPDF_ModuleMgr {
CCodec_ModuleMgr* m_pCodecModule;
std::unique_ptr<CPDF_PageModule> m_pPageModule;
- std::unique_ptr<CFX_Deletable> m_pUnsupportInfoAdapter;
+ std::unique_ptr<CFSDK_UnsupportInfo_Adapter> m_pUnsupportInfoAdapter;
};
#endif // CORE_FPDFAPI_INCLUDE_CPDF_MODULEMGR_H_
diff --git a/core/fpdfapi/include/cpdf_pagerendercontext.h b/core/fpdfapi/include/cpdf_pagerendercontext.h
new file mode 100644
index 0000000000..2ee3daeda3
--- /dev/null
+++ b/core/fpdfapi/include/cpdf_pagerendercontext.h
@@ -0,0 +1,31 @@
+// 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
+
+#ifndef CORE_FPDFAPI_INCLUDE_CPDF_PAGERENDERCONTEXT_H_
+#define CORE_FPDFAPI_INCLUDE_CPDF_PAGERENDERCONTEXT_H_
+
+#include <memory>
+
+class CFX_RenderDevice;
+class CPDF_AnnotList;
+class CPDF_ProgressiveRenderer;
+class CPDF_RenderContext;
+class CPDF_RenderOptions;
+
+// Everything about rendering is put here: for OOM recovery
+class CPDF_PageRenderContext {
+ public:
+ CPDF_PageRenderContext();
+ ~CPDF_PageRenderContext();
+
+ std::unique_ptr<CFX_RenderDevice> m_pDevice;
+ std::unique_ptr<CPDF_RenderContext> m_pContext;
+ std::unique_ptr<CPDF_ProgressiveRenderer> m_pRenderer;
+ std::unique_ptr<CPDF_AnnotList> m_pAnnots;
+ std::unique_ptr<CPDF_RenderOptions> m_pOptions;
+};
+
+#endif // CORE_FPDFAPI_INCLUDE_CPDF_PAGERENDERCONTEXT_H_