OLD | NEW |
1 // Copyright 2016 PDFium Authors. All rights reserved. | 1 // Copyright 2016 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 "fpdfsdk/fpdfxfa/include/cpdfxfa_docenvironment.h" | 7 #include "fpdfsdk/fpdfxfa/include/cpdfxfa_docenvironment.h" |
8 | 8 |
9 #include "core/fpdfapi/fpdf_parser/include/cpdf_array.h" | 9 #include "core/fpdfapi/fpdf_parser/include/cpdf_array.h" |
10 #include "core/fpdfapi/fpdf_parser/include/cpdf_string.h" | 10 #include "core/fpdfapi/fpdf_parser/include/cpdf_string.h" |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 | 54 |
55 void CPDFXFA_DocEnvironment::InvalidateRect(CXFA_FFPageView* pPageView, | 55 void CPDFXFA_DocEnvironment::InvalidateRect(CXFA_FFPageView* pPageView, |
56 const CFX_RectF& rt, | 56 const CFX_RectF& rt, |
57 uint32_t dwFlags /* = 0 */) { | 57 uint32_t dwFlags /* = 0 */) { |
58 if (!m_pDocument->GetXFADoc() || !m_pDocument->GetSDKDoc()) | 58 if (!m_pDocument->GetXFADoc() || !m_pDocument->GetSDKDoc()) |
59 return; | 59 return; |
60 | 60 |
61 if (m_pDocument->GetDocType() != DOCTYPE_DYNAMIC_XFA) | 61 if (m_pDocument->GetDocType() != DOCTYPE_DYNAMIC_XFA) |
62 return; | 62 return; |
63 | 63 |
64 CPDFXFA_Page* pPage = m_pDocument->GetPage(pPageView); | 64 CPDFXFA_Page* pPage = m_pDocument->GetXFAPage(pPageView); |
65 if (!pPage) | 65 if (!pPage) |
66 return; | 66 return; |
67 | 67 |
68 CPDFSDK_Environment* pEnv = m_pDocument->GetSDKDoc()->GetEnv(); | 68 CPDFSDK_Environment* pEnv = m_pDocument->GetSDKDoc()->GetEnv(); |
69 if (!pEnv) | 69 if (!pEnv) |
70 return; | 70 return; |
71 | 71 |
72 CFX_FloatRect rcPage = CFX_FloatRect::FromCFXRectF(rt); | 72 CFX_FloatRect rcPage = CFX_FloatRect::FromCFXRectF(rt); |
73 pEnv->Invalidate((FPDF_PAGE)pPage, rcPage.left, rcPage.bottom, rcPage.right, | 73 pEnv->Invalidate((FPDF_PAGE)pPage, rcPage.left, rcPage.bottom, rcPage.right, |
74 rcPage.top); | 74 rcPage.top); |
(...skipping 11 matching lines...) Expand all Loading... |
86 | 86 |
87 CXFA_FFWidgetHandler* pWidgetHandler = | 87 CXFA_FFWidgetHandler* pWidgetHandler = |
88 m_pDocument->GetXFADocView()->GetWidgetHandler(); | 88 m_pDocument->GetXFADocView()->GetWidgetHandler(); |
89 if (!pWidgetHandler) | 89 if (!pWidgetHandler) |
90 return; | 90 return; |
91 | 91 |
92 CXFA_FFPageView* pPageView = hWidget->GetPageView(); | 92 CXFA_FFPageView* pPageView = hWidget->GetPageView(); |
93 if (!pPageView) | 93 if (!pPageView) |
94 return; | 94 return; |
95 | 95 |
96 CPDFXFA_Page* pPage = m_pDocument->GetPage(pPageView); | 96 CPDFXFA_Page* pPage = m_pDocument->GetXFAPage(pPageView); |
97 if (!pPage) | 97 if (!pPage) |
98 return; | 98 return; |
99 | 99 |
100 CPDFSDK_Environment* pEnv = m_pDocument->GetSDKDoc()->GetEnv(); | 100 CPDFSDK_Environment* pEnv = m_pDocument->GetSDKDoc()->GetEnv(); |
101 if (!pEnv) | 101 if (!pEnv) |
102 return; | 102 return; |
103 | 103 |
104 CFX_FloatRect rcCaret = CFX_FloatRect::FromCFXRectF(*pRtAnchor); | 104 CFX_FloatRect rcCaret = CFX_FloatRect::FromCFXRectF(*pRtAnchor); |
105 pEnv->DisplayCaret((FPDF_PAGE)pPage, bVisible, rcCaret.left, rcCaret.top, | 105 pEnv->DisplayCaret((FPDF_PAGE)pPage, bVisible, rcCaret.left, rcCaret.top, |
106 rcCaret.right, rcCaret.bottom); | 106 rcCaret.right, rcCaret.bottom); |
107 } | 107 } |
108 | 108 |
109 FX_BOOL CPDFXFA_DocEnvironment::GetPopupPos(CXFA_FFWidget* hWidget, | 109 FX_BOOL CPDFXFA_DocEnvironment::GetPopupPos(CXFA_FFWidget* hWidget, |
110 FX_FLOAT fMinPopup, | 110 FX_FLOAT fMinPopup, |
111 FX_FLOAT fMaxPopup, | 111 FX_FLOAT fMaxPopup, |
112 const CFX_RectF& rtAnchor, | 112 const CFX_RectF& rtAnchor, |
113 CFX_RectF& rtPopup) { | 113 CFX_RectF& rtPopup) { |
114 if (!hWidget) | 114 if (!hWidget) |
115 return FALSE; | 115 return FALSE; |
116 | 116 |
117 CXFA_FFPageView* pXFAPageView = hWidget->GetPageView(); | 117 CXFA_FFPageView* pXFAPageView = hWidget->GetPageView(); |
118 if (!pXFAPageView) | 118 if (!pXFAPageView) |
119 return FALSE; | 119 return FALSE; |
120 | 120 |
121 CPDFXFA_Page* pPage = m_pDocument->GetPage(pXFAPageView); | 121 CPDFXFA_Page* pPage = m_pDocument->GetXFAPage(pXFAPageView); |
122 if (!pPage) | 122 if (!pPage) |
123 return FALSE; | 123 return FALSE; |
124 | 124 |
125 CXFA_WidgetAcc* pWidgetAcc = hWidget->GetDataAcc(); | 125 CXFA_WidgetAcc* pWidgetAcc = hWidget->GetDataAcc(); |
126 int nRotate = pWidgetAcc->GetRotate(); | 126 int nRotate = pWidgetAcc->GetRotate(); |
127 CPDFSDK_Environment* pEnv = m_pDocument->GetSDKDoc()->GetEnv(); | 127 CPDFSDK_Environment* pEnv = m_pDocument->GetSDKDoc()->GetEnv(); |
128 if (!pEnv) | 128 if (!pEnv) |
129 return FALSE; | 129 return FALSE; |
130 | 130 |
131 FS_RECTF pageViewRect = {0.0f, 0.0f, 0.0f, 0.0f}; | 131 FS_RECTF pageViewRect = {0.0f, 0.0f, 0.0f, 0.0f}; |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 | 224 |
225 FX_BOOL CPDFXFA_DocEnvironment::PopupMenu(CXFA_FFWidget* hWidget, | 225 FX_BOOL CPDFXFA_DocEnvironment::PopupMenu(CXFA_FFWidget* hWidget, |
226 CFX_PointF ptPopup) { | 226 CFX_PointF ptPopup) { |
227 if (!hWidget) | 227 if (!hWidget) |
228 return FALSE; | 228 return FALSE; |
229 | 229 |
230 CXFA_FFPageView* pXFAPageView = hWidget->GetPageView(); | 230 CXFA_FFPageView* pXFAPageView = hWidget->GetPageView(); |
231 if (!pXFAPageView) | 231 if (!pXFAPageView) |
232 return FALSE; | 232 return FALSE; |
233 | 233 |
234 CPDFXFA_Page* pPage = m_pDocument->GetPage(pXFAPageView); | 234 CPDFXFA_Page* pPage = m_pDocument->GetXFAPage(pXFAPageView); |
235 if (!pPage) | 235 if (!pPage) |
236 return FALSE; | 236 return FALSE; |
237 | 237 |
238 CPDFSDK_Environment* pEnv = m_pDocument->GetSDKDoc()->GetEnv(); | 238 CPDFSDK_Environment* pEnv = m_pDocument->GetSDKDoc()->GetEnv(); |
239 if (!pEnv) | 239 if (!pEnv) |
240 return FALSE; | 240 return FALSE; |
241 | 241 |
242 int menuFlag = 0; | 242 int menuFlag = 0; |
243 if (hWidget->CanUndo()) | 243 if (hWidget->CanUndo()) |
244 menuFlag |= FXFA_MENU_UNDO; | 244 menuFlag |= FXFA_MENU_UNDO; |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
295 | 295 |
296 void CPDFXFA_DocEnvironment::WidgetPostAdd(CXFA_FFWidget* hWidget, | 296 void CPDFXFA_DocEnvironment::WidgetPostAdd(CXFA_FFWidget* hWidget, |
297 CXFA_WidgetAcc* pWidgetData) { | 297 CXFA_WidgetAcc* pWidgetData) { |
298 if (m_pDocument->GetDocType() != DOCTYPE_DYNAMIC_XFA || !hWidget) | 298 if (m_pDocument->GetDocType() != DOCTYPE_DYNAMIC_XFA || !hWidget) |
299 return; | 299 return; |
300 | 300 |
301 CXFA_FFPageView* pPageView = hWidget->GetPageView(); | 301 CXFA_FFPageView* pPageView = hWidget->GetPageView(); |
302 if (!pPageView) | 302 if (!pPageView) |
303 return; | 303 return; |
304 | 304 |
305 CPDFXFA_Page* pXFAPage = m_pDocument->GetPage(pPageView); | 305 CPDFXFA_Page* pXFAPage = m_pDocument->GetXFAPage(pPageView); |
306 if (!pXFAPage) | 306 if (!pXFAPage) |
307 return; | 307 return; |
308 | 308 |
309 m_pDocument->GetSDKDoc()->GetPageView(pXFAPage, true)->AddAnnot(hWidget); | 309 m_pDocument->GetSDKDoc()->GetPageView(pXFAPage, true)->AddAnnot(hWidget); |
310 } | 310 } |
311 | 311 |
312 void CPDFXFA_DocEnvironment::WidgetPreRemove(CXFA_FFWidget* hWidget, | 312 void CPDFXFA_DocEnvironment::WidgetPreRemove(CXFA_FFWidget* hWidget, |
313 CXFA_WidgetAcc* pWidgetData) { | 313 CXFA_WidgetAcc* pWidgetData) { |
314 if (m_pDocument->GetDocType() != DOCTYPE_DYNAMIC_XFA || !hWidget) | 314 if (m_pDocument->GetDocType() != DOCTYPE_DYNAMIC_XFA || !hWidget) |
315 return; | 315 return; |
316 | 316 |
317 CXFA_FFPageView* pPageView = hWidget->GetPageView(); | 317 CXFA_FFPageView* pPageView = hWidget->GetPageView(); |
318 if (!pPageView) | 318 if (!pPageView) |
319 return; | 319 return; |
320 | 320 |
321 CPDFXFA_Page* pXFAPage = m_pDocument->GetPage(pPageView); | 321 CPDFXFA_Page* pXFAPage = m_pDocument->GetXFAPage(pPageView); |
322 if (!pXFAPage) | 322 if (!pXFAPage) |
323 return; | 323 return; |
324 | 324 |
325 CPDFSDK_PageView* pSdkPageView = | 325 CPDFSDK_PageView* pSdkPageView = |
326 m_pDocument->GetSDKDoc()->GetPageView(pXFAPage, true); | 326 m_pDocument->GetSDKDoc()->GetPageView(pXFAPage, true); |
327 if (CPDFSDK_Annot* pAnnot = pSdkPageView->GetAnnotByXFAWidget(hWidget)) | 327 if (CPDFSDK_Annot* pAnnot = pSdkPageView->GetAnnotByXFAWidget(hWidget)) |
328 pSdkPageView->DeleteAnnot(pAnnot); | 328 pSdkPageView->DeleteAnnot(pAnnot); |
329 } | 329 } |
330 | 330 |
331 int32_t CPDFXFA_DocEnvironment::CountPages(CXFA_FFDoc* hDoc) { | 331 int32_t CPDFXFA_DocEnvironment::CountPages(CXFA_FFDoc* hDoc) { |
(...skipping 680 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1012 if (!m_pJSContext) { | 1012 if (!m_pJSContext) { |
1013 m_pDocument->GetSDKDoc()->GetEnv()->GetJSRuntime()->SetReaderDocument( | 1013 m_pDocument->GetSDKDoc()->GetEnv()->GetJSRuntime()->SetReaderDocument( |
1014 m_pDocument->GetSDKDoc()); | 1014 m_pDocument->GetSDKDoc()); |
1015 m_pJSContext = | 1015 m_pJSContext = |
1016 m_pDocument->GetSDKDoc()->GetEnv()->GetJSRuntime()->NewContext(); | 1016 m_pDocument->GetSDKDoc()->GetEnv()->GetJSRuntime()->NewContext(); |
1017 } | 1017 } |
1018 | 1018 |
1019 return m_pDocument->GetSDKDoc()->GetEnv()->GetJSRuntime()->GetValueByName( | 1019 return m_pDocument->GetSDKDoc()->GetEnv()->GetJSRuntime()->GetValueByName( |
1020 szPropName, pValue); | 1020 szPropName, pValue); |
1021 } | 1021 } |
OLD | NEW |