1// Copyright 2014 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 _FDE_RENDERCONTEXT 8#define _FDE_RENDERCONTEXT 9class IFDE_Page; 10class IFDE_RenderDevice; 11 12void FDE_GetPageMatrix(CFX_Matrix& pageMatrix, 13 const CFX_RectF& docPageRect, 14 const CFX_Rect& devicePageRect, 15 int32_t iRotate, 16 FX_DWORD dwCoordinatesType = 0); 17enum FDE_RENDERSTATUS { 18 FDE_RENDERSTATUS_Reset = 0, 19 FDE_RENDERSTATUS_Paused, 20 FDE_RENDERSTATUS_Done, 21 FDE_RENDERSTATUS_Failed, 22}; 23 24class IFDE_RenderContext { 25 public: 26 static IFDE_RenderContext* Create(); 27 virtual ~IFDE_RenderContext() {} 28 virtual void Release() = 0; 29 virtual FX_BOOL StartRender(IFDE_RenderDevice* pRenderDevice, 30 IFDE_CanvasSet* pCanvasSet, 31 const CFX_Matrix& tmDoc2Device) = 0; 32 virtual FDE_RENDERSTATUS GetStatus() const = 0; 33 virtual FDE_RENDERSTATUS DoRender(IFX_Pause* pPause = NULL) = 0; 34 virtual void StopRender() = 0; 35}; 36#endif 37