diff options
author | weili <weili@chromium.org> | 2016-07-24 08:08:24 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-07-24 08:08:24 -0700 |
commit | 9f515bcccb40e8ae251bbe8afc1ef6c4db1f05a8 (patch) | |
tree | 83db93367d20abf65f8b4eb459f54d9f60a05732 /core/fpdfapi/include | |
parent | 8f19e4bc617d19e871137be55a34992e421585ad (diff) | |
download | pdfium-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.h | 18 | ||||
-rw-r--r-- | core/fpdfapi/include/cpdf_pagerendercontext.h | 31 |
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_ |