Home | History | Annotate | Download | only in fpdfapi
      1 // Copyright 2016 PDFium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
      6 
      7 #ifndef CORE_FPDFAPI_CPDF_PAGERENDERCONTEXT_H_
      8 #define CORE_FPDFAPI_CPDF_PAGERENDERCONTEXT_H_
      9 
     10 #include <memory>
     11 
     12 class CFX_RenderDevice;
     13 class CPDF_AnnotList;
     14 class CPDF_ProgressiveRenderer;
     15 class CPDF_RenderContext;
     16 class CPDF_RenderOptions;
     17 
     18 // Everything about rendering is put here: for OOM recovery
     19 class CPDF_PageRenderContext {
     20  public:
     21   CPDF_PageRenderContext();
     22   ~CPDF_PageRenderContext();
     23 
     24   // Specific destruction order required.
     25   std::unique_ptr<CPDF_AnnotList> m_pAnnots;
     26   std::unique_ptr<CPDF_RenderOptions> m_pOptions;
     27   std::unique_ptr<CFX_RenderDevice> m_pDevice;
     28   std::unique_ptr<CPDF_RenderContext> m_pContext;
     29   std::unique_ptr<CPDF_ProgressiveRenderer> m_pRenderer;
     30 };
     31 
     32 #endif  // CORE_FPDFAPI_CPDF_PAGERENDERCONTEXT_H_
     33