• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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();
~IFDE_RenderContext()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