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 9 class IFDE_Page; 10 class IFDE_RenderDevice; 11 12 void FDE_GetPageMatrix(CFX_Matrix& pageMatrix, 13 const CFX_RectF& docPageRect, 14 const CFX_Rect& devicePageRect, 15 int32_t iRotate, 16 FX_DWORD dwCoordinatesType = 0); 17 enum FDE_RENDERSTATUS { 18 FDE_RENDERSTATUS_Reset = 0, 19 FDE_RENDERSTATUS_Paused, 20 FDE_RENDERSTATUS_Done, 21 FDE_RENDERSTATUS_Failed, 22 }; 23 24 class 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