Home | History | Annotate | Download | only in include
      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