summaryrefslogtreecommitdiff
path: root/core/fpdfapi/include
diff options
context:
space:
mode:
authorweili <weili@chromium.org>2016-07-24 08:08:24 -0700
committerCommit bot <commit-bot@chromium.org>2016-07-24 08:08:24 -0700
commit9f515bcccb40e8ae251bbe8afc1ef6c4db1f05a8 (patch)
tree83db93367d20abf65f8b4eb459f54d9f60a05732 /core/fpdfapi/include
parent8f19e4bc617d19e871137be55a34992e421585ad (diff)
downloadpdfium-9f515bcccb40e8ae251bbe8afc1ef6c4db1f05a8.tar.xz
Use actual type instead CFX_Deletable
Change two places that used CFX_Deletable to use actual types. This makes the type more obvious, and avoids unnecessary casts. Review-Url: https://codereview.chromium.org/2180443002
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_