From 9f515bcccb40e8ae251bbe8afc1ef6c4db1f05a8 Mon Sep 17 00:00:00 2001 From: weili Date: Sun, 24 Jul 2016 08:08:24 -0700 Subject: 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 --- core/fpdfapi/include/cpdf_modulemgr.h | 18 +++++++++++++--- core/fpdfapi/include/cpdf_pagerendercontext.h | 31 +++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 core/fpdfapi/include/cpdf_pagerendercontext.h (limited to 'core/fpdfapi/include') 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 pAdapter) { + void SetUnsupportInfoAdapter( + std::unique_ptr 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 m_pPageModule; - std::unique_ptr m_pUnsupportInfoAdapter; + std::unique_ptr 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 + +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 m_pDevice; + std::unique_ptr m_pContext; + std::unique_ptr m_pRenderer; + std::unique_ptr m_pAnnots; + std::unique_ptr m_pOptions; +}; + +#endif // CORE_FPDFAPI_INCLUDE_CPDF_PAGERENDERCONTEXT_H_ -- cgit v1.2.3