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