// 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