// Copyright 2014 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 _FDE_RENDERCONTEXT #define _FDE_RENDERCONTEXT class IFDE_Page; class IFDE_RenderDevice; void FDE_GetPageMatrix(CFX_Matrix &pageMatrix, const CFX_RectF &docPageRect, const CFX_Rect &devicePageRect, int32_t iRotate, FX_DWORD dwCoordinatesType = 0); enum FDE_RENDERSTATUS { FDE_RENDERSTATUS_Reset = 0, FDE_RENDERSTATUS_Paused , FDE_RENDERSTATUS_Done , FDE_RENDERSTATUS_Failed , }; class IFDE_RenderContext { public: static IFDE_RenderContext* Create(); virtual ~IFDE_RenderContext() {} virtual void Release() = 0; virtual FX_BOOL StartRender(IFDE_RenderDevice *pRenderDevice, IFDE_CanvasSet *pCanvasSet, const CFX_Matrix &tmDoc2Device ) = 0; virtual FDE_RENDERSTATUS GetStatus() const = 0; virtual FDE_RENDERSTATUS DoRender(IFX_Pause *pPause = NULL) = 0; virtual void StopRender() = 0; }; #endif