1ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Copyright 2014 PDFium Authors. All rights reserved. 2ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Use of this source code is governed by a BSD-style license that can be 3ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// found in the LICENSE file. 4ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 5ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 7ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifndef _RENDERCONTENT_H_ 8ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define _RENDERCONTENT_H_ 9ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../include/fsdk_define.h" 10ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../include/fpdf_progressive.h" 11ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 12ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Everything about rendering is put here: for OOM recovery 13ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CRenderContext : public CFX_Object 14ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 15ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 16ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CRenderContext() { Clear(); } 17ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ~CRenderContext(); 18ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 19ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void Clear(); 20ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 21ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_RenderDevice* m_pDevice; 22ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_RenderContext* m_pContext; 23ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_ProgressiveRenderer* m_pRenderer; 24ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_AnnotList* m_pAnnots; 25ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CPDF_RenderOptions* m_pOptions; 26ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifdef _WIN32_WCE 27ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFX_DIBitmap* m_pBitmap; 28ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov HBITMAP m_hBitmap; 29ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif 30ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 31ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 32ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass IFSDK_PAUSE_Adapter : public IFX_Pause 33ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{ 34ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic: 35ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov IFSDK_PAUSE_Adapter(IFSDK_PAUSE* IPause ); 36ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FX_BOOL NeedToPauseNow(); 37ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 38ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprivate: 39ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov IFSDK_PAUSE* m_IPause; 40ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov}; 41ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif 42