OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include "xfa/fxfa/include/xfa_rendercontext.h" | 7 #include "xfa/fxfa/include/xfa_rendercontext.h" |
8 | 8 |
9 #include "xfa/fxfa/include/xfa_ffpageview.h" | 9 #include "xfa/fxfa/include/xfa_ffpageview.h" |
10 #include "xfa/fxfa/include/xfa_ffwidget.h" | 10 #include "xfa/fxfa/include/xfa_ffwidget.h" |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 : XFA_WidgetStatus_Viewable); | 44 : XFA_WidgetStatus_Viewable); |
45 m_pWidgetIterator.reset( | 45 m_pWidgetIterator.reset( |
46 m_pPageView->CreateWidgetIterator(XFA_TRAVERSEWAY_Form, dwFilterType)); | 46 m_pPageView->CreateWidgetIterator(XFA_TRAVERSEWAY_Form, dwFilterType)); |
47 m_pWidget = m_pWidgetIterator->MoveToNext(); | 47 m_pWidget = m_pWidgetIterator->MoveToNext(); |
48 return XFA_RENDERSTATUS_Ready; | 48 return XFA_RENDERSTATUS_Ready; |
49 } | 49 } |
50 | 50 |
51 int32_t CXFA_RenderContext::DoRender(IFX_Pause* pPause) { | 51 int32_t CXFA_RenderContext::DoRender(IFX_Pause* pPause) { |
52 int32_t iCount = 0; | 52 int32_t iCount = 0; |
53 while (m_pWidget) { | 53 while (m_pWidget) { |
54 CXFA_FFWidget* pWidget = (CXFA_FFWidget*)m_pWidget; | 54 CXFA_FFWidget* pWidget = m_pWidget; |
55 CFX_RectF rtWidgetBox; | 55 CFX_RectF rtWidgetBox; |
56 pWidget->GetBBox(rtWidgetBox, XFA_WidgetStatus_Visible); | 56 pWidget->GetBBox(rtWidgetBox, XFA_WidgetStatus_Visible); |
57 rtWidgetBox.width += 1; | 57 rtWidgetBox.width += 1; |
58 rtWidgetBox.height += 1; | 58 rtWidgetBox.height += 1; |
59 if (rtWidgetBox.IntersectWith(m_rtClipRect)) | 59 if (rtWidgetBox.IntersectWith(m_rtClipRect)) |
60 pWidget->RenderWidget(m_pGS, &m_matrix, m_dwStatus); | 60 pWidget->RenderWidget(m_pGS, &m_matrix, m_dwStatus); |
61 m_pWidget = m_pWidgetIterator->MoveToNext(); | 61 m_pWidget = m_pWidgetIterator->MoveToNext(); |
62 iCount++; | 62 iCount++; |
63 if (iCount > kMaxCount && pPause && pPause->NeedToPauseNow()) | 63 if (iCount > kMaxCount && pPause && pPause->NeedToPauseNow()) |
64 return XFA_RENDERSTATUS_ToBeContinued; | 64 return XFA_RENDERSTATUS_ToBeContinued; |
65 } | 65 } |
66 return XFA_RENDERSTATUS_Done; | 66 return XFA_RENDERSTATUS_Done; |
67 } | 67 } |
68 | 68 |
69 void CXFA_RenderContext::StopRender() { | 69 void CXFA_RenderContext::StopRender() { |
70 m_pWidgetIterator.reset(); | 70 m_pWidgetIterator.reset(); |
71 } | 71 } |
OLD | NEW |