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_CXFA_RENDERCONTEXT_H_ 8 #define XFA_FXFA_CXFA_RENDERCONTEXT_H_ 9 10 #include <memory> 11 12 #include "core/fxcrt/fx_coordinates.h" 13 #include "core/fxcrt/unowned_ptr.h" 14 15 class CXFA_Graphics; 16 class CXFA_FFPageView; 17 class CXFA_FFWidget; 18 class IXFA_WidgetIterator; 19 20 class CXFA_RenderContext { 21 public: 22 CXFA_RenderContext(CXFA_FFPageView* pPageView, 23 const CFX_RectF& clipRect, 24 const CFX_Matrix& matrix); 25 ~CXFA_RenderContext(); 26 27 void DoRender(CXFA_Graphics* gs); 28 29 private: 30 std::unique_ptr<IXFA_WidgetIterator> const m_pWidgetIterator; 31 UnownedPtr<CXFA_FFWidget> m_pWidget; 32 const CFX_Matrix m_matrix; 33 const CFX_RectF m_rtClipRect; 34 }; 35 36 #endif // XFA_FXFA_CXFA_RENDERCONTEXT_H_ 37