xfa_rendercontext.h revision 4d3acf4ec42bf6e838f9060103aff98fbf170794
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 XFA_FXFA_XFA_RENDERCONTEXT_H_ 8#define XFA_FXFA_XFA_RENDERCONTEXT_H_ 9 10#include <memory> 11 12#include "xfa/fxfa/fxfa.h" 13 14class CXFA_RenderOptions { 15 public: 16 CXFA_RenderOptions() : m_bPrint(false), m_bHighlight(true) {} 17 18 bool m_bPrint; 19 bool m_bHighlight; 20}; 21 22class CXFA_RenderContext { 23 public: 24 CXFA_RenderContext(); 25 ~CXFA_RenderContext(); 26 27 int32_t StartRender(CXFA_FFPageView* pPageView, 28 CFX_Graphics* pGS, 29 const CFX_Matrix& matrix, 30 const CXFA_RenderOptions& options); 31 int32_t DoRender(IFX_Pause* pPause = nullptr); 32 void StopRender(); 33 34 protected: 35 std::unique_ptr<IXFA_WidgetIterator> m_pWidgetIterator; 36 CXFA_FFWidget* m_pWidget; 37 CXFA_FFPageView* m_pPageView; 38 CFX_Graphics* m_pGS; 39 CFX_Matrix m_matrix; 40 CXFA_RenderOptions m_options; 41 uint32_t m_dwStatus; 42 CFX_RectF m_rtClipRect; 43}; 44 45#endif // XFA_FXFA_XFA_RENDERCONTEXT_H_ 46