Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(38)

Side by Side Diff: fpdfsdk/cpdfsdk_pageview.cpp

Issue 2453683011: Remove FX_BOOL from fpdfsdk. (Closed)
Patch Set: Regenerate patch after rebase. Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « fpdfsdk/cpdfsdk_pageview.h ('k') | fpdfsdk/cpdfsdk_widget.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/cpdfsdk_pageview.h" 7 #include "fpdfsdk/cpdfsdk_pageview.h"
8 8
9 #include <memory> 9 #include <memory>
10 #include <vector> 10 #include <vector>
(...skipping 18 matching lines...) Expand all
29 #include "xfa/fxgraphics/cfx_graphics.h" 29 #include "xfa/fxgraphics/cfx_graphics.h"
30 #endif // PDF_ENABLE_XFA 30 #endif // PDF_ENABLE_XFA
31 31
32 CPDFSDK_PageView::CPDFSDK_PageView(CPDFSDK_FormFillEnvironment* pFormFillEnv, 32 CPDFSDK_PageView::CPDFSDK_PageView(CPDFSDK_FormFillEnvironment* pFormFillEnv,
33 UnderlyingPageType* page) 33 UnderlyingPageType* page)
34 : m_page(page), 34 : m_page(page),
35 m_pFormFillEnv(pFormFillEnv), 35 m_pFormFillEnv(pFormFillEnv),
36 #ifndef PDF_ENABLE_XFA 36 #ifndef PDF_ENABLE_XFA
37 m_bOwnsPage(false), 37 m_bOwnsPage(false),
38 #endif // PDF_ENABLE_XFA 38 #endif // PDF_ENABLE_XFA
39 m_bEnterWidget(FALSE), 39 m_bEnterWidget(false),
40 m_bExitWidget(FALSE), 40 m_bExitWidget(false),
41 m_bOnWidget(FALSE), 41 m_bOnWidget(false),
42 m_bValid(FALSE), 42 m_bValid(false),
43 m_bLocked(FALSE), 43 m_bLocked(false),
44 m_bBeingDestroyed(false) { 44 m_bBeingDestroyed(false) {
45 CPDFSDK_InterForm* pInterForm = pFormFillEnv->GetInterForm(); 45 CPDFSDK_InterForm* pInterForm = pFormFillEnv->GetInterForm();
46 if (pInterForm) { 46 if (pInterForm) {
47 CPDF_InterForm* pPDFInterForm = pInterForm->GetInterForm(); 47 CPDF_InterForm* pPDFInterForm = pInterForm->GetInterForm();
48 #ifdef PDF_ENABLE_XFA 48 #ifdef PDF_ENABLE_XFA
49 if (page->GetPDFPage()) 49 if (page->GetPDFPage())
50 pPDFInterForm->FixPageFields(page->GetPDFPage()); 50 pPDFInterForm->FixPageFields(page->GetPDFPage());
51 #else // PDF_ENABLE_XFA 51 #else // PDF_ENABLE_XFA
52 pPDFInterForm->FixPageFields(page); 52 pPDFInterForm->FixPageFields(page);
53 #endif // PDF_ENABLE_XFA 53 #endif // PDF_ENABLE_XFA
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 CFX_Graphics gs; 98 CFX_Graphics gs;
99 gs.Create(pDevice); 99 gs.Create(pDevice);
100 CFX_RectF rectClip; 100 CFX_RectF rectClip;
101 rectClip.Set(static_cast<FX_FLOAT>(pClip.left), 101 rectClip.Set(static_cast<FX_FLOAT>(pClip.left),
102 static_cast<FX_FLOAT>(pClip.top), 102 static_cast<FX_FLOAT>(pClip.top),
103 static_cast<FX_FLOAT>(pClip.Width()), 103 static_cast<FX_FLOAT>(pClip.Width()),
104 static_cast<FX_FLOAT>(pClip.Height())); 104 static_cast<FX_FLOAT>(pClip.Height()));
105 gs.SetClipRect(rectClip); 105 gs.SetClipRect(rectClip);
106 std::unique_ptr<CXFA_RenderContext> pRenderContext(new CXFA_RenderContext); 106 std::unique_ptr<CXFA_RenderContext> pRenderContext(new CXFA_RenderContext);
107 CXFA_RenderOptions renderOptions; 107 CXFA_RenderOptions renderOptions;
108 renderOptions.m_bHighlight = TRUE; 108 renderOptions.m_bHighlight = true;
109 CXFA_FFPageView* xfaView = pPage->GetXFAPageView(); 109 CXFA_FFPageView* xfaView = pPage->GetXFAPageView();
110 pRenderContext->StartRender(xfaView, &gs, *pUser2Device, renderOptions); 110 pRenderContext->StartRender(xfaView, &gs, *pUser2Device, renderOptions);
111 pRenderContext->DoRender(); 111 pRenderContext->DoRender();
112 pRenderContext->StopRender(); 112 pRenderContext->StopRender();
113 CXFA_FFDocView* docView = xfaView->GetDocView(); 113 CXFA_FFDocView* docView = xfaView->GetDocView();
114 if (!docView) 114 if (!docView)
115 return; 115 return;
116 CPDFSDK_Annot* annot = GetFocusAnnot(); 116 CPDFSDK_Annot* annot = GetFocusAnnot();
117 if (!annot) 117 if (!annot)
118 return; 118 return;
119 // Render the focus widget 119 // Render the focus widget
120 docView->GetWidgetHandler()->RenderWidget(annot->GetXFAWidget(), &gs, 120 docView->GetWidgetHandler()->RenderWidget(annot->GetXFAWidget(), &gs,
121 pUser2Device, FALSE); 121 pUser2Device, false);
122 return; 122 return;
123 } 123 }
124 #endif // PDF_ENABLE_XFA 124 #endif // PDF_ENABLE_XFA
125 125
126 // for pdf/static xfa. 126 // for pdf/static xfa.
127 CPDFSDK_AnnotIterator annotIterator(this, true); 127 CPDFSDK_AnnotIterator annotIterator(this, true);
128 while (CPDFSDK_Annot* pSDKAnnot = annotIterator.Next()) { 128 while (CPDFSDK_Annot* pSDKAnnot = annotIterator.Next()) {
129 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr = 129 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr =
130 m_pFormFillEnv->GetAnnotHandlerMgr(); 130 m_pFormFillEnv->GetAnnotHandlerMgr();
131 pAnnotHandlerMgr->Annot_OnDraw(this, pSDKAnnot, pDevice, pUser2Device, 131 pAnnotHandlerMgr->Annot_OnDraw(this, pSDKAnnot, pDevice, pUser2Device,
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 180
181 CPDFSDK_AnnotHandlerMgr* pAnnotHandler = m_pFormFillEnv->GetAnnotHandlerMgr(); 181 CPDFSDK_AnnotHandlerMgr* pAnnotHandler = m_pFormFillEnv->GetAnnotHandlerMgr();
182 pSDKAnnot = pAnnotHandler->NewAnnot(pPDFAnnot, this); 182 pSDKAnnot = pAnnotHandler->NewAnnot(pPDFAnnot, this);
183 if (!pSDKAnnot) 183 if (!pSDKAnnot)
184 return nullptr; 184 return nullptr;
185 185
186 m_SDKAnnotArray.push_back(pSDKAnnot); 186 m_SDKAnnotArray.push_back(pSDKAnnot);
187 return pSDKAnnot; 187 return pSDKAnnot;
188 } 188 }
189 189
190 FX_BOOL CPDFSDK_PageView::DeleteAnnot(CPDFSDK_Annot* pAnnot) { 190 bool CPDFSDK_PageView::DeleteAnnot(CPDFSDK_Annot* pAnnot) {
191 if (!pAnnot) 191 if (!pAnnot)
192 return FALSE; 192 return false;
193 CPDFXFA_Page* pPage = pAnnot->GetPDFXFAPage(); 193 CPDFXFA_Page* pPage = pAnnot->GetPDFXFAPage();
194 if (!pPage || (pPage->GetContext()->GetDocType() != DOCTYPE_STATIC_XFA && 194 if (!pPage || (pPage->GetContext()->GetDocType() != DOCTYPE_STATIC_XFA &&
195 pPage->GetContext()->GetDocType() != DOCTYPE_DYNAMIC_XFA)) 195 pPage->GetContext()->GetDocType() != DOCTYPE_DYNAMIC_XFA))
196 return FALSE; 196 return false;
197 197
198 if (GetFocusAnnot() == pAnnot) 198 if (GetFocusAnnot() == pAnnot)
199 m_pFormFillEnv->KillFocusAnnot(0); 199 m_pFormFillEnv->KillFocusAnnot(0);
200 CPDFSDK_AnnotHandlerMgr* pAnnotHandler = m_pFormFillEnv->GetAnnotHandlerMgr(); 200 CPDFSDK_AnnotHandlerMgr* pAnnotHandler = m_pFormFillEnv->GetAnnotHandlerMgr();
201 if (pAnnotHandler) 201 if (pAnnotHandler)
202 pAnnotHandler->ReleaseAnnot(pAnnot); 202 pAnnotHandler->ReleaseAnnot(pAnnot);
203 203
204 auto it = std::find(m_SDKAnnotArray.begin(), m_SDKAnnotArray.end(), pAnnot); 204 auto it = std::find(m_SDKAnnotArray.begin(), m_SDKAnnotArray.end(), pAnnot);
205 if (it != m_SDKAnnotArray.end()) 205 if (it != m_SDKAnnotArray.end())
206 m_SDKAnnotArray.erase(it); 206 m_SDKAnnotArray.erase(it);
207 if (m_pCaptureWidget.Get() == pAnnot) 207 if (m_pCaptureWidget.Get() == pAnnot)
208 m_pCaptureWidget.Reset(); 208 m_pCaptureWidget.Reset();
209 209
210 return TRUE; 210 return true;
211 } 211 }
212 #endif // PDF_ENABLE_XFA 212 #endif // PDF_ENABLE_XFA
213 213
214 CPDF_Document* CPDFSDK_PageView::GetPDFDocument() { 214 CPDF_Document* CPDFSDK_PageView::GetPDFDocument() {
215 if (m_page) { 215 if (m_page) {
216 #ifdef PDF_ENABLE_XFA 216 #ifdef PDF_ENABLE_XFA
217 return m_page->GetContext()->GetPDFDoc(); 217 return m_page->GetContext()->GetPDFDoc();
218 #else // PDF_ENABLE_XFA 218 #else // PDF_ENABLE_XFA
219 return m_page->m_pDocument; 219 return m_page->m_pDocument;
220 #endif // PDF_ENABLE_XFA 220 #endif // PDF_ENABLE_XFA
(...skipping 23 matching lines...) Expand all
244 return nullptr; 244 return nullptr;
245 245
246 for (CPDFSDK_Annot* pAnnot : m_SDKAnnotArray) { 246 for (CPDFSDK_Annot* pAnnot : m_SDKAnnotArray) {
247 if (pAnnot->GetXFAWidget() == hWidget) 247 if (pAnnot->GetXFAWidget() == hWidget)
248 return pAnnot; 248 return pAnnot;
249 } 249 }
250 return nullptr; 250 return nullptr;
251 } 251 }
252 #endif // PDF_ENABLE_XFA 252 #endif // PDF_ENABLE_XFA
253 253
254 FX_BOOL CPDFSDK_PageView::OnLButtonDown(const CFX_FloatPoint& point, 254 bool CPDFSDK_PageView::OnLButtonDown(const CFX_FloatPoint& point,
255 uint32_t nFlag) { 255 uint32_t nFlag) {
256 CPDFSDK_Annot::ObservedPtr pAnnot(GetFXWidgetAtPoint(point.x, point.y)); 256 CPDFSDK_Annot::ObservedPtr pAnnot(GetFXWidgetAtPoint(point.x, point.y));
257 if (!pAnnot) { 257 if (!pAnnot) {
258 m_pFormFillEnv->KillFocusAnnot(nFlag); 258 m_pFormFillEnv->KillFocusAnnot(nFlag);
259 return FALSE; 259 return false;
260 } 260 }
261 261
262 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr = 262 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr =
263 m_pFormFillEnv->GetAnnotHandlerMgr(); 263 m_pFormFillEnv->GetAnnotHandlerMgr();
264 if (!pAnnotHandlerMgr->Annot_OnLButtonDown(this, &pAnnot, nFlag, point)) 264 if (!pAnnotHandlerMgr->Annot_OnLButtonDown(this, &pAnnot, nFlag, point))
265 return FALSE; 265 return false;
266 266
267 if (!pAnnot) 267 if (!pAnnot)
268 return FALSE; 268 return false;
269 269
270 m_pFormFillEnv->SetFocusAnnot(&pAnnot); 270 m_pFormFillEnv->SetFocusAnnot(&pAnnot);
271 return TRUE; 271 return true;
272 } 272 }
273 273
274 #ifdef PDF_ENABLE_XFA 274 #ifdef PDF_ENABLE_XFA
275 FX_BOOL CPDFSDK_PageView::OnRButtonDown(const CFX_FloatPoint& point, 275 bool CPDFSDK_PageView::OnRButtonDown(const CFX_FloatPoint& point,
276 uint32_t nFlag) { 276 uint32_t nFlag) {
277 CPDFSDK_Annot::ObservedPtr pAnnot(GetFXWidgetAtPoint(point.x, point.y)); 277 CPDFSDK_Annot::ObservedPtr pAnnot(GetFXWidgetAtPoint(point.x, point.y));
278 if (!pAnnot) 278 if (!pAnnot)
279 return FALSE; 279 return false;
280 280
281 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr = 281 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr =
282 m_pFormFillEnv->GetAnnotHandlerMgr(); 282 m_pFormFillEnv->GetAnnotHandlerMgr();
283 FX_BOOL ok = 283 bool ok = pAnnotHandlerMgr->Annot_OnRButtonDown(this, &pAnnot, nFlag, point);
284 pAnnotHandlerMgr->Annot_OnRButtonDown(this, &pAnnot, nFlag, point);
285 if (!pAnnot) 284 if (!pAnnot)
286 return FALSE; 285 return false;
287 286
288 if (ok) 287 if (ok)
289 m_pFormFillEnv->SetFocusAnnot(&pAnnot); 288 m_pFormFillEnv->SetFocusAnnot(&pAnnot);
290 289
291 return TRUE; 290 return true;
292 } 291 }
293 292
294 FX_BOOL CPDFSDK_PageView::OnRButtonUp(const CFX_FloatPoint& point, 293 bool CPDFSDK_PageView::OnRButtonUp(const CFX_FloatPoint& point,
295 uint32_t nFlag) { 294 uint32_t nFlag) {
296 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr = 295 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr =
297 m_pFormFillEnv->GetAnnotHandlerMgr(); 296 m_pFormFillEnv->GetAnnotHandlerMgr();
298 CPDFSDK_Annot::ObservedPtr pFXAnnot(GetFXWidgetAtPoint(point.x, point.y)); 297 CPDFSDK_Annot::ObservedPtr pFXAnnot(GetFXWidgetAtPoint(point.x, point.y));
299 if (!pFXAnnot) 298 if (!pFXAnnot)
300 return FALSE; 299 return false;
301 300
302 if (pAnnotHandlerMgr->Annot_OnRButtonUp(this, &pFXAnnot, nFlag, point)) 301 if (pAnnotHandlerMgr->Annot_OnRButtonUp(this, &pFXAnnot, nFlag, point))
303 m_pFormFillEnv->SetFocusAnnot(&pFXAnnot); 302 m_pFormFillEnv->SetFocusAnnot(&pFXAnnot);
304 303
305 return TRUE; 304 return true;
306 } 305 }
307 #endif // PDF_ENABLE_XFA 306 #endif // PDF_ENABLE_XFA
308 307
309 FX_BOOL CPDFSDK_PageView::OnLButtonUp(const CFX_FloatPoint& point, 308 bool CPDFSDK_PageView::OnLButtonUp(const CFX_FloatPoint& point,
310 uint32_t nFlag) { 309 uint32_t nFlag) {
311 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr = 310 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr =
312 m_pFormFillEnv->GetAnnotHandlerMgr(); 311 m_pFormFillEnv->GetAnnotHandlerMgr();
313 CPDFSDK_Annot::ObservedPtr pFXAnnot(GetFXWidgetAtPoint(point.x, point.y)); 312 CPDFSDK_Annot::ObservedPtr pFXAnnot(GetFXWidgetAtPoint(point.x, point.y));
314 CPDFSDK_Annot::ObservedPtr pFocusAnnot(GetFocusAnnot()); 313 CPDFSDK_Annot::ObservedPtr pFocusAnnot(GetFocusAnnot());
315 if (pFocusAnnot && pFocusAnnot != pFXAnnot) { 314 if (pFocusAnnot && pFocusAnnot != pFXAnnot) {
316 // Last focus Annot gets a chance to handle the event. 315 // Last focus Annot gets a chance to handle the event.
317 if (pAnnotHandlerMgr->Annot_OnLButtonUp(this, &pFocusAnnot, nFlag, point)) 316 if (pAnnotHandlerMgr->Annot_OnLButtonUp(this, &pFocusAnnot, nFlag, point))
318 return TRUE; 317 return true;
319 } 318 }
320 return pFXAnnot && 319 return pFXAnnot &&
321 pAnnotHandlerMgr->Annot_OnLButtonUp(this, &pFXAnnot, nFlag, point); 320 pAnnotHandlerMgr->Annot_OnLButtonUp(this, &pFXAnnot, nFlag, point);
322 } 321 }
323 322
324 FX_BOOL CPDFSDK_PageView::OnMouseMove(const CFX_FloatPoint& point, int nFlag) { 323 bool CPDFSDK_PageView::OnMouseMove(const CFX_FloatPoint& point, int nFlag) {
325 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr = 324 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr =
326 m_pFormFillEnv->GetAnnotHandlerMgr(); 325 m_pFormFillEnv->GetAnnotHandlerMgr();
327 CPDFSDK_Annot::ObservedPtr pFXAnnot(GetFXAnnotAtPoint(point.x, point.y)); 326 CPDFSDK_Annot::ObservedPtr pFXAnnot(GetFXAnnotAtPoint(point.x, point.y));
328 if (pFXAnnot) { 327 if (pFXAnnot) {
329 if (m_pCaptureWidget && m_pCaptureWidget != pFXAnnot) { 328 if (m_pCaptureWidget && m_pCaptureWidget != pFXAnnot) {
330 m_bExitWidget = TRUE; 329 m_bExitWidget = true;
331 m_bEnterWidget = FALSE; 330 m_bEnterWidget = false;
332 pAnnotHandlerMgr->Annot_OnMouseExit(this, &m_pCaptureWidget, nFlag); 331 pAnnotHandlerMgr->Annot_OnMouseExit(this, &m_pCaptureWidget, nFlag);
333 } 332 }
334 m_pCaptureWidget.Reset(pFXAnnot.Get()); 333 m_pCaptureWidget.Reset(pFXAnnot.Get());
335 m_bOnWidget = TRUE; 334 m_bOnWidget = true;
336 if (!m_bEnterWidget) { 335 if (!m_bEnterWidget) {
337 m_bEnterWidget = TRUE; 336 m_bEnterWidget = true;
338 m_bExitWidget = FALSE; 337 m_bExitWidget = false;
339 pAnnotHandlerMgr->Annot_OnMouseEnter(this, &pFXAnnot, nFlag); 338 pAnnotHandlerMgr->Annot_OnMouseEnter(this, &pFXAnnot, nFlag);
340 } 339 }
341 pAnnotHandlerMgr->Annot_OnMouseMove(this, &pFXAnnot, nFlag, point); 340 pAnnotHandlerMgr->Annot_OnMouseMove(this, &pFXAnnot, nFlag, point);
342 return TRUE; 341 return true;
343 } 342 }
344 if (m_bOnWidget) { 343 if (m_bOnWidget) {
345 m_bOnWidget = FALSE; 344 m_bOnWidget = false;
346 m_bExitWidget = TRUE; 345 m_bExitWidget = true;
347 m_bEnterWidget = FALSE; 346 m_bEnterWidget = false;
348 if (m_pCaptureWidget) { 347 if (m_pCaptureWidget) {
349 pAnnotHandlerMgr->Annot_OnMouseExit(this, &m_pCaptureWidget, nFlag); 348 pAnnotHandlerMgr->Annot_OnMouseExit(this, &m_pCaptureWidget, nFlag);
350 m_pCaptureWidget.Reset(); 349 m_pCaptureWidget.Reset();
351 } 350 }
352 } 351 }
353 return FALSE; 352 return false;
354 } 353 }
355 354
356 FX_BOOL CPDFSDK_PageView::OnMouseWheel(double deltaX, 355 bool CPDFSDK_PageView::OnMouseWheel(double deltaX,
357 double deltaY, 356 double deltaY,
358 const CFX_FloatPoint& point, 357 const CFX_FloatPoint& point,
359 int nFlag) { 358 int nFlag) {
360 CPDFSDK_Annot::ObservedPtr pAnnot(GetFXWidgetAtPoint(point.x, point.y)); 359 CPDFSDK_Annot::ObservedPtr pAnnot(GetFXWidgetAtPoint(point.x, point.y));
361 if (!pAnnot) 360 if (!pAnnot)
362 return FALSE; 361 return false;
363 362
364 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr = 363 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr =
365 m_pFormFillEnv->GetAnnotHandlerMgr(); 364 m_pFormFillEnv->GetAnnotHandlerMgr();
366 return pAnnotHandlerMgr->Annot_OnMouseWheel(this, &pAnnot, nFlag, (int)deltaY, 365 return pAnnotHandlerMgr->Annot_OnMouseWheel(this, &pAnnot, nFlag, (int)deltaY,
367 point); 366 point);
368 } 367 }
369 368
370 FX_BOOL CPDFSDK_PageView::OnChar(int nChar, uint32_t nFlag) { 369 bool CPDFSDK_PageView::OnChar(int nChar, uint32_t nFlag) {
371 if (CPDFSDK_Annot* pAnnot = GetFocusAnnot()) { 370 if (CPDFSDK_Annot* pAnnot = GetFocusAnnot()) {
372 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr = 371 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr =
373 m_pFormFillEnv->GetAnnotHandlerMgr(); 372 m_pFormFillEnv->GetAnnotHandlerMgr();
374 return pAnnotHandlerMgr->Annot_OnChar(pAnnot, nChar, nFlag); 373 return pAnnotHandlerMgr->Annot_OnChar(pAnnot, nChar, nFlag);
375 } 374 }
376 375
377 return FALSE; 376 return false;
378 } 377 }
379 378
380 FX_BOOL CPDFSDK_PageView::OnKeyDown(int nKeyCode, int nFlag) { 379 bool CPDFSDK_PageView::OnKeyDown(int nKeyCode, int nFlag) {
381 if (CPDFSDK_Annot* pAnnot = GetFocusAnnot()) { 380 if (CPDFSDK_Annot* pAnnot = GetFocusAnnot()) {
382 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr = 381 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr =
383 m_pFormFillEnv->GetAnnotHandlerMgr(); 382 m_pFormFillEnv->GetAnnotHandlerMgr();
384 return pAnnotHandlerMgr->Annot_OnKeyDown(pAnnot, nKeyCode, nFlag); 383 return pAnnotHandlerMgr->Annot_OnKeyDown(pAnnot, nKeyCode, nFlag);
385 } 384 }
386 return FALSE; 385 return false;
387 } 386 }
388 387
389 FX_BOOL CPDFSDK_PageView::OnKeyUp(int nKeyCode, int nFlag) { 388 bool CPDFSDK_PageView::OnKeyUp(int nKeyCode, int nFlag) {
390 return FALSE; 389 return false;
391 } 390 }
392 391
393 void CPDFSDK_PageView::LoadFXAnnots() { 392 void CPDFSDK_PageView::LoadFXAnnots() {
394 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr = 393 CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr =
395 m_pFormFillEnv->GetAnnotHandlerMgr(); 394 m_pFormFillEnv->GetAnnotHandlerMgr();
396 395
397 SetLock(TRUE); 396 SetLock(true);
398 397
399 #ifdef PDF_ENABLE_XFA 398 #ifdef PDF_ENABLE_XFA
400 CFX_RetainPtr<CPDFXFA_Page> protector(m_page); 399 CFX_RetainPtr<CPDFXFA_Page> protector(m_page);
401 if (m_pFormFillEnv->GetXFAContext()->GetDocType() == DOCTYPE_DYNAMIC_XFA) { 400 if (m_pFormFillEnv->GetXFAContext()->GetDocType() == DOCTYPE_DYNAMIC_XFA) {
402 CXFA_FFPageView* pageView = m_page->GetXFAPageView(); 401 CXFA_FFPageView* pageView = m_page->GetXFAPageView();
403 std::unique_ptr<IXFA_WidgetIterator> pWidgetHander( 402 std::unique_ptr<IXFA_WidgetIterator> pWidgetHander(
404 pageView->CreateWidgetIterator( 403 pageView->CreateWidgetIterator(
405 XFA_TRAVERSEWAY_Form, 404 XFA_TRAVERSEWAY_Form,
406 XFA_WidgetStatus_Visible | XFA_WidgetStatus_Viewable)); 405 XFA_WidgetStatus_Visible | XFA_WidgetStatus_Viewable));
407 if (!pWidgetHander) { 406 if (!pWidgetHander) {
408 SetLock(FALSE); 407 SetLock(false);
409 return; 408 return;
410 } 409 }
411 410
412 while (CXFA_FFWidget* pXFAAnnot = pWidgetHander->MoveToNext()) { 411 while (CXFA_FFWidget* pXFAAnnot = pWidgetHander->MoveToNext()) {
413 CPDFSDK_Annot* pAnnot = pAnnotHandlerMgr->NewAnnot(pXFAAnnot, this); 412 CPDFSDK_Annot* pAnnot = pAnnotHandlerMgr->NewAnnot(pXFAAnnot, this);
414 if (!pAnnot) 413 if (!pAnnot)
415 continue; 414 continue;
416 m_SDKAnnotArray.push_back(pAnnot); 415 m_SDKAnnotArray.push_back(pAnnot);
417 pAnnotHandlerMgr->Annot_OnLoad(pAnnot); 416 pAnnotHandlerMgr->Annot_OnLoad(pAnnot);
418 } 417 }
419 418
420 SetLock(FALSE); 419 SetLock(false);
421 return; 420 return;
422 } 421 }
423 #endif // PDF_ENABLE_XFA 422 #endif // PDF_ENABLE_XFA
424 423
425 CPDF_Page* pPage = GetPDFPage(); 424 CPDF_Page* pPage = GetPDFPage();
426 ASSERT(pPage); 425 ASSERT(pPage);
427 bool bUpdateAP = CPDF_InterForm::IsUpdateAPEnabled(); 426 bool bUpdateAP = CPDF_InterForm::IsUpdateAPEnabled();
428 // Disable the default AP construction. 427 // Disable the default AP construction.
429 CPDF_InterForm::SetUpdateAP(false); 428 CPDF_InterForm::SetUpdateAP(false);
430 m_pAnnotList = pdfium::MakeUnique<CPDF_AnnotList>(pPage); 429 m_pAnnotList = pdfium::MakeUnique<CPDF_AnnotList>(pPage);
431 CPDF_InterForm::SetUpdateAP(bUpdateAP); 430 CPDF_InterForm::SetUpdateAP(bUpdateAP);
432 431
433 const size_t nCount = m_pAnnotList->Count(); 432 const size_t nCount = m_pAnnotList->Count();
434 for (size_t i = 0; i < nCount; ++i) { 433 for (size_t i = 0; i < nCount; ++i) {
435 CPDF_Annot* pPDFAnnot = m_pAnnotList->GetAt(i); 434 CPDF_Annot* pPDFAnnot = m_pAnnotList->GetAt(i);
436 CheckUnSupportAnnot(GetPDFDocument(), pPDFAnnot); 435 CheckUnSupportAnnot(GetPDFDocument(), pPDFAnnot);
437 CPDFSDK_Annot* pAnnot = pAnnotHandlerMgr->NewAnnot(pPDFAnnot, this); 436 CPDFSDK_Annot* pAnnot = pAnnotHandlerMgr->NewAnnot(pPDFAnnot, this);
438 if (!pAnnot) 437 if (!pAnnot)
439 continue; 438 continue;
440 m_SDKAnnotArray.push_back(pAnnot); 439 m_SDKAnnotArray.push_back(pAnnot);
441 pAnnotHandlerMgr->Annot_OnLoad(pAnnot); 440 pAnnotHandlerMgr->Annot_OnLoad(pAnnot);
442 } 441 }
443 442
444 SetLock(FALSE); 443 SetLock(false);
445 } 444 }
446 445
447 void CPDFSDK_PageView::UpdateRects(const std::vector<CFX_FloatRect>& rects) { 446 void CPDFSDK_PageView::UpdateRects(const std::vector<CFX_FloatRect>& rects) {
448 for (const auto& rc : rects) 447 for (const auto& rc : rects)
449 m_pFormFillEnv->Invalidate(m_page, rc.left, rc.top, rc.right, rc.bottom); 448 m_pFormFillEnv->Invalidate(m_page, rc.left, rc.top, rc.right, rc.bottom);
450 } 449 }
451 450
452 void CPDFSDK_PageView::UpdateView(CPDFSDK_Annot* pAnnot) { 451 void CPDFSDK_PageView::UpdateView(CPDFSDK_Annot* pAnnot) {
453 CFX_FloatRect rcWindow = pAnnot->GetRect(); 452 CFX_FloatRect rcWindow = pAnnot->GetRect();
454 m_pFormFillEnv->Invalidate(m_page, rcWindow.left, rcWindow.top, 453 m_pFormFillEnv->Invalidate(m_page, rcWindow.left, rcWindow.top,
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
498 CPDFSDK_Annot* CPDFSDK_PageView::GetFocusAnnot() { 497 CPDFSDK_Annot* CPDFSDK_PageView::GetFocusAnnot() {
499 CPDFSDK_Annot* pFocusAnnot = m_pFormFillEnv->GetFocusAnnot(); 498 CPDFSDK_Annot* pFocusAnnot = m_pFormFillEnv->GetFocusAnnot();
500 return IsValidSDKAnnot(pFocusAnnot) ? pFocusAnnot : nullptr; 499 return IsValidSDKAnnot(pFocusAnnot) ? pFocusAnnot : nullptr;
501 } 500 }
502 501
503 int CPDFSDK_PageView::GetPageIndexForStaticPDF() const { 502 int CPDFSDK_PageView::GetPageIndexForStaticPDF() const {
504 CPDF_Dictionary* pDict = GetPDFPage()->m_pFormDict; 503 CPDF_Dictionary* pDict = GetPDFPage()->m_pFormDict;
505 CPDF_Document* pDoc = m_pFormFillEnv->GetPDFDocument(); 504 CPDF_Document* pDoc = m_pFormFillEnv->GetPDFDocument();
506 return (pDoc && pDict) ? pDoc->GetPageIndex(pDict->GetObjNum()) : -1; 505 return (pDoc && pDict) ? pDoc->GetPageIndex(pDict->GetObjNum()) : -1;
507 } 506 }
OLDNEW
« no previous file with comments | « fpdfsdk/cpdfsdk_pageview.h ('k') | fpdfsdk/cpdfsdk_widget.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698