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 #ifndef FPDFSDK_INCLUDE_FSDK_MGR_H_ | 7 #ifndef FPDFSDK_INCLUDE_FSDK_MGR_H_ |
8 #define FPDFSDK_INCLUDE_FSDK_MGR_H_ | 8 #define FPDFSDK_INCLUDE_FSDK_MGR_H_ |
9 | 9 |
10 #include <map> | 10 #include <map> |
11 | 11 |
12 #include "core/include/fpdftext/fpdf_text.h" | 12 #include "core/include/fpdftext/fpdf_text.h" |
13 #ifdef PDF_ENABLE_XFA | |
14 #include "fpdfxfa/fpdfxfa_doc.h" | |
15 #include "fpdfxfa/fpdfxfa_page.h" | |
16 #endif | |
17 #include "fsdk_actionhandler.h" | 13 #include "fsdk_actionhandler.h" |
18 #include "fsdk_annothandler.h" | 14 #include "fsdk_annothandler.h" |
19 #include "fsdk_baseannot.h" | 15 #include "fsdk_baseannot.h" |
20 #include "fsdk_baseform.h" | 16 #include "fsdk_baseform.h" |
21 #include "fsdk_common.h" | 17 #include "fsdk_common.h" |
22 #include "fsdk_define.h" | 18 #include "fsdk_define.h" |
23 #include "fx_systemhandler.h" | 19 #include "fx_systemhandler.h" |
24 #include "javascript/IJavaScript.h" | 20 #include "javascript/IJavaScript.h" |
25 #include "public/fpdf_formfill.h" | 21 #include "public/fpdf_formfill.h" |
26 #include "public/fpdf_fwlevent.h" // cross platform keycode and events define. | 22 #include "public/fpdf_fwlevent.h" // cross platform keycode and events define. |
27 #include "third_party/base/nonstd_unique_ptr.h" | 23 #include "third_party/base/nonstd_unique_ptr.h" |
28 | 24 |
| 25 #ifdef PDF_ENABLE_XFA |
| 26 #include "fpdfxfa/fpdfxfa_doc.h" |
| 27 #include "fpdfxfa/fpdfxfa_page.h" |
| 28 #endif // PDF_ENABLE_XFA |
| 29 |
29 class CFFL_IFormFiller; | 30 class CFFL_IFormFiller; |
30 class CPDFSDK_ActionHandler; | 31 class CPDFSDK_ActionHandler; |
31 class CPDFSDK_Annot; | 32 class CPDFSDK_Annot; |
32 class CPDFSDK_Document; | 33 class CPDFSDK_Document; |
33 class CPDFSDK_InterForm; | 34 class CPDFSDK_InterForm; |
34 class CPDFSDK_PageView; | 35 class CPDFSDK_PageView; |
35 class CPDFSDK_Widget; | 36 class CPDFSDK_Widget; |
36 class IFX_SystemHandler; | 37 class IFX_SystemHandler; |
37 | 38 |
38 class CPDFDoc_Environment final { | 39 class CPDFDoc_Environment final { |
39 public: | 40 public: |
40 CPDFDoc_Environment(UnderlyingDocumentType* pDoc, FPDF_FORMFILLINFO* pFFinfo); | 41 CPDFDoc_Environment(UnderlyingDocumentType* pDoc, FPDF_FORMFILLINFO* pFFinfo); |
41 ~CPDFDoc_Environment(); | 42 ~CPDFDoc_Environment(); |
42 | 43 |
43 #ifdef PDF_ENABLE_XFA | 44 #ifdef PDF_ENABLE_XFA |
44 void Release() { | 45 void Release() { |
45 if (m_pInfo && m_pInfo->Release) | 46 if (m_pInfo && m_pInfo->Release) |
46 m_pInfo->Release(m_pInfo); | 47 m_pInfo->Release(m_pInfo); |
47 delete this; | 48 delete this; |
48 } | 49 } |
| 50 #endif // PDF_ENABLE_XFA |
49 | 51 |
50 #endif | |
51 void FFI_Invalidate(FPDF_PAGE page, | 52 void FFI_Invalidate(FPDF_PAGE page, |
52 double left, | 53 double left, |
53 double top, | 54 double top, |
54 double right, | 55 double right, |
55 double bottom) { | 56 double bottom) { |
56 if (m_pInfo && m_pInfo->FFI_Invalidate) | 57 if (m_pInfo && m_pInfo->FFI_Invalidate) |
57 m_pInfo->FFI_Invalidate(m_pInfo, page, left, top, right, bottom); | 58 m_pInfo->FFI_Invalidate(m_pInfo, page, left, top, right, bottom); |
58 } | 59 } |
59 | 60 |
60 void FFI_OutputSelectedRect(FPDF_PAGE page, | 61 void FFI_OutputSelectedRect(FPDF_PAGE page, |
(...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
443 } | 444 } |
444 CFX_ByteString bsRet = CFX_ByteString(pbuff, nActualLen); | 445 CFX_ByteString bsRet = CFX_ByteString(pbuff, nActualLen); |
445 CFX_WideString wsRet = CFX_WideString::FromUTF16LE( | 446 CFX_WideString wsRet = CFX_WideString::FromUTF16LE( |
446 (unsigned short*)bsRet.GetBuffer(bsRet.GetLength()), | 447 (unsigned short*)bsRet.GetBuffer(bsRet.GetLength()), |
447 bsRet.GetLength() / sizeof(unsigned short)); | 448 bsRet.GetLength() / sizeof(unsigned short)); |
448 delete[] pbuff; | 449 delete[] pbuff; |
449 return wsRet; | 450 return wsRet; |
450 } | 451 } |
451 return L""; | 452 return L""; |
452 } | 453 } |
| 454 #endif // PDF_ENABLE_XFA |
453 | 455 |
454 #endif | |
455 FX_BOOL IsJSInitiated() const { return m_pInfo && m_pInfo->m_pJsPlatform; } | 456 FX_BOOL IsJSInitiated() const { return m_pInfo && m_pInfo->m_pJsPlatform; } |
456 void SetSDKDocument(CPDFSDK_Document* pFXDoc) { m_pSDKDoc = pFXDoc; } | 457 void SetSDKDocument(CPDFSDK_Document* pFXDoc) { m_pSDKDoc = pFXDoc; } |
457 CPDFSDK_Document* GetSDKDocument() const { return m_pSDKDoc; } | 458 CPDFSDK_Document* GetSDKDocument() const { return m_pSDKDoc; } |
458 UnderlyingDocumentType* GetUnderlyingDocument() const { | 459 UnderlyingDocumentType* GetUnderlyingDocument() const { |
459 return m_pUnderlyingDoc; | 460 return m_pUnderlyingDoc; |
460 } | 461 } |
461 CFX_ByteString GetAppName() const { return ""; } | 462 CFX_ByteString GetAppName() const { return ""; } |
462 IFX_SystemHandler* GetSysHandler() const { return m_pSysHandler.get(); } | 463 IFX_SystemHandler* GetSysHandler() const { return m_pSysHandler.get(); } |
463 FPDF_FORMFILLINFO* GetFormFillInfo() const { return m_pInfo; } | 464 FPDF_FORMFILLINFO* GetFormFillInfo() const { return m_pInfo; } |
464 | 465 |
(...skipping 16 matching lines...) Expand all Loading... |
481 class CPDFSDK_Document { | 482 class CPDFSDK_Document { |
482 public: | 483 public: |
483 CPDFSDK_Document(UnderlyingDocumentType* pDoc, CPDFDoc_Environment* pEnv); | 484 CPDFSDK_Document(UnderlyingDocumentType* pDoc, CPDFDoc_Environment* pEnv); |
484 ~CPDFSDK_Document(); | 485 ~CPDFSDK_Document(); |
485 | 486 |
486 CPDFSDK_InterForm* GetInterForm(); | 487 CPDFSDK_InterForm* GetInterForm(); |
487 | 488 |
488 // Gets the document object for the next layer down; for master this is | 489 // Gets the document object for the next layer down; for master this is |
489 // a CPDF_Document, but for XFA it is a CPDFXFA_Document. | 490 // a CPDF_Document, but for XFA it is a CPDFXFA_Document. |
490 UnderlyingDocumentType* GetUnderlyingDocument() const { | 491 UnderlyingDocumentType* GetUnderlyingDocument() const { |
491 #ifndef PDF_ENABLE_XFA | 492 #ifdef PDF_ENABLE_XFA |
| 493 return GetXFADocument(); |
| 494 #else // PDF_ENABLE_XFA |
492 return GetPDFDocument(); | 495 return GetPDFDocument(); |
493 #else | 496 #endif // PDF_ENABLE_XFA |
494 return GetXFADocument(); | |
495 #endif | |
496 } | 497 } |
497 | 498 |
498 // Gets the CPDF_Document, either directly in master, or from the | 499 // Gets the CPDF_Document, either directly in master, or from the |
499 // CPDFXFA_Document for XFA. | 500 // CPDFXFA_Document for XFA. |
500 #ifndef PDF_ENABLE_XFA | |
501 CPDF_Document* GetPDFDocument() const { return m_pDoc; } | |
502 #else | |
503 CPDF_Document* GetPDFDocument() const { | 501 CPDF_Document* GetPDFDocument() const { |
| 502 #ifdef PDF_ENABLE_XFA |
504 return m_pDoc ? m_pDoc->GetPDFDoc() : nullptr; | 503 return m_pDoc ? m_pDoc->GetPDFDoc() : nullptr; |
| 504 #else // PDF_ENABLE_XFA |
| 505 return m_pDoc; |
| 506 #endif // PDF_ENABLE_XFA |
505 } | 507 } |
506 | 508 |
| 509 #ifdef PDF_ENABLE_XFA |
507 // Gets the XFA document directly (XFA-only). | 510 // Gets the XFA document directly (XFA-only). |
508 CPDFXFA_Document* GetXFADocument() const { return m_pDoc; } | 511 CPDFXFA_Document* GetXFADocument() const { return m_pDoc; } |
509 #endif | |
510 | 512 |
511 #ifdef PDF_ENABLE_XFA | |
512 int GetPageViewCount() const { return m_pageMap.size(); } | 513 int GetPageViewCount() const { return m_pageMap.size(); } |
513 #endif | 514 #endif // PDF_ENABLE_XFA |
| 515 |
514 CPDFSDK_PageView* GetPageView(UnderlyingPageType* pPage, | 516 CPDFSDK_PageView* GetPageView(UnderlyingPageType* pPage, |
515 FX_BOOL ReNew = TRUE); | 517 FX_BOOL ReNew = TRUE); |
516 CPDFSDK_PageView* GetPageView(int nIndex); | 518 CPDFSDK_PageView* GetPageView(int nIndex); |
517 CPDFSDK_PageView* GetCurrentView(); | 519 CPDFSDK_PageView* GetCurrentView(); |
518 void RemovePageView(UnderlyingPageType* pPage); | 520 void RemovePageView(UnderlyingPageType* pPage); |
519 void UpdateAllViews(CPDFSDK_PageView* pSender, CPDFSDK_Annot* pAnnot); | 521 void UpdateAllViews(CPDFSDK_PageView* pSender, CPDFSDK_Annot* pAnnot); |
520 | 522 |
521 CPDFSDK_Annot* GetFocusAnnot(); | 523 CPDFSDK_Annot* GetFocusAnnot(); |
522 | 524 |
523 IJS_Runtime* GetJsRuntime(); | 525 IJS_Runtime* GetJsRuntime(); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
555 CPDFSDK_Annot* m_pFocusAnnot; | 557 CPDFSDK_Annot* m_pFocusAnnot; |
556 CPDFDoc_Environment* m_pEnv; | 558 CPDFDoc_Environment* m_pEnv; |
557 nonstd::unique_ptr<CPDF_OCContext> m_pOccontent; | 559 nonstd::unique_ptr<CPDF_OCContext> m_pOccontent; |
558 FX_BOOL m_bChangeMask; | 560 FX_BOOL m_bChangeMask; |
559 FX_BOOL m_bBeingDestroyed; | 561 FX_BOOL m_bBeingDestroyed; |
560 }; | 562 }; |
561 class CPDFSDK_PageView final { | 563 class CPDFSDK_PageView final { |
562 public: | 564 public: |
563 CPDFSDK_PageView(CPDFSDK_Document* pSDKDoc, UnderlyingPageType* page); | 565 CPDFSDK_PageView(CPDFSDK_Document* pSDKDoc, UnderlyingPageType* page); |
564 ~CPDFSDK_PageView(); | 566 ~CPDFSDK_PageView(); |
| 567 |
| 568 #ifdef PDF_ENABLE_XFA |
565 void PageView_OnDraw(CFX_RenderDevice* pDevice, | 569 void PageView_OnDraw(CFX_RenderDevice* pDevice, |
566 CPDF_Matrix* pUser2Device, | 570 CPDF_Matrix* pUser2Device, |
567 #ifndef PDF_ENABLE_XFA | |
568 CPDF_RenderOptions* pOptions); | |
569 #else | |
570 CPDF_RenderOptions* pOptions, | 571 CPDF_RenderOptions* pOptions, |
571 const FX_RECT& pClip); | 572 const FX_RECT& pClip); |
572 #endif | 573 #else // PDF_ENABLE_XFA |
| 574 void PageView_OnDraw(CFX_RenderDevice* pDevice, |
| 575 CPDF_Matrix* pUser2Device, |
| 576 CPDF_RenderOptions* pOptions); |
| 577 #endif // PDF_ENABLE_XFA |
| 578 |
573 const CPDF_Annot* GetPDFAnnotAtPoint(FX_FLOAT pageX, FX_FLOAT pageY); | 579 const CPDF_Annot* GetPDFAnnotAtPoint(FX_FLOAT pageX, FX_FLOAT pageY); |
574 CPDFSDK_Annot* GetFXAnnotAtPoint(FX_FLOAT pageX, FX_FLOAT pageY); | 580 CPDFSDK_Annot* GetFXAnnotAtPoint(FX_FLOAT pageX, FX_FLOAT pageY); |
575 const CPDF_Annot* GetPDFWidgetAtPoint(FX_FLOAT pageX, FX_FLOAT pageY); | 581 const CPDF_Annot* GetPDFWidgetAtPoint(FX_FLOAT pageX, FX_FLOAT pageY); |
576 CPDFSDK_Annot* GetFXWidgetAtPoint(FX_FLOAT pageX, FX_FLOAT pageY); | 582 CPDFSDK_Annot* GetFXWidgetAtPoint(FX_FLOAT pageX, FX_FLOAT pageY); |
577 CPDFSDK_Annot* GetFocusAnnot(); | 583 CPDFSDK_Annot* GetFocusAnnot(); |
578 void SetFocusAnnot(CPDFSDK_Annot* pSDKAnnot, FX_UINT nFlag = 0) { | 584 void SetFocusAnnot(CPDFSDK_Annot* pSDKAnnot, FX_UINT nFlag = 0) { |
579 m_pSDKDoc->SetFocusAnnot(pSDKAnnot, nFlag); | 585 m_pSDKDoc->SetFocusAnnot(pSDKAnnot, nFlag); |
580 } | 586 } |
581 FX_BOOL KillFocusAnnot(FX_UINT nFlag = 0) { | 587 FX_BOOL KillFocusAnnot(FX_UINT nFlag = 0) { |
582 return m_pSDKDoc->KillFocusAnnot(nFlag); | 588 return m_pSDKDoc->KillFocusAnnot(nFlag); |
583 } | 589 } |
584 void KillFocusAnnotIfNeeded(); | 590 void KillFocusAnnotIfNeeded(); |
585 FX_BOOL Annot_HasAppearance(CPDF_Annot* pAnnot); | 591 FX_BOOL Annot_HasAppearance(CPDF_Annot* pAnnot); |
586 | 592 |
587 CPDFSDK_Annot* AddAnnot(CPDF_Dictionary* pDict); | 593 CPDFSDK_Annot* AddAnnot(CPDF_Dictionary* pDict); |
588 CPDFSDK_Annot* AddAnnot(const FX_CHAR* lpSubType, CPDF_Dictionary* pDict); | 594 CPDFSDK_Annot* AddAnnot(const FX_CHAR* lpSubType, CPDF_Dictionary* pDict); |
589 CPDFSDK_Annot* AddAnnot(CPDF_Annot* pPDFAnnot); | 595 CPDFSDK_Annot* AddAnnot(CPDF_Annot* pPDFAnnot); |
590 #ifdef PDF_ENABLE_XFA | 596 |
591 CPDFSDK_Annot* AddAnnot(IXFA_Widget* pPDFAnnot); | |
592 #endif | |
593 FX_BOOL DeleteAnnot(CPDFSDK_Annot* pAnnot); | 597 FX_BOOL DeleteAnnot(CPDFSDK_Annot* pAnnot); |
594 size_t CountAnnots() const; | 598 size_t CountAnnots() const; |
595 CPDFSDK_Annot* GetAnnot(size_t nIndex); | 599 CPDFSDK_Annot* GetAnnot(size_t nIndex); |
596 CPDFSDK_Annot* GetAnnotByDict(CPDF_Dictionary* pDict); | 600 CPDFSDK_Annot* GetAnnotByDict(CPDF_Dictionary* pDict); |
597 #ifndef PDF_ENABLE_XFA | 601 |
598 CPDF_Page* GetPDFPage() { return m_page; } | 602 #ifdef PDF_ENABLE_XFA |
599 #else | 603 CPDFSDK_Annot* AddAnnot(IXFA_Widget* pPDFAnnot); |
600 CPDFSDK_Annot* GetAnnotByXFAWidget(IXFA_Widget* hWidget); | 604 CPDFSDK_Annot* GetAnnotByXFAWidget(IXFA_Widget* hWidget); |
601 CPDFXFA_Page* GetPDFXFAPage() { return m_page; } | 605 CPDFXFA_Page* GetPDFXFAPage() { return m_page; } |
602 CPDF_Page* GetPDFPage(); | 606 CPDF_Page* GetPDFPage(); |
603 #endif | 607 #else |
| 608 CPDF_Page* GetPDFPage() { return m_page; } |
| 609 #endif // PDF_ENABLE_XFA |
| 610 |
604 CPDF_Document* GetPDFDocument(); | 611 CPDF_Document* GetPDFDocument(); |
605 CPDFSDK_Document* GetSDKDocument() { return m_pSDKDoc; } | 612 CPDFSDK_Document* GetSDKDocument() { return m_pSDKDoc; } |
606 FX_BOOL OnLButtonDown(const CPDF_Point& point, FX_UINT nFlag); | 613 FX_BOOL OnLButtonDown(const CPDF_Point& point, FX_UINT nFlag); |
607 FX_BOOL OnLButtonUp(const CPDF_Point& point, FX_UINT nFlag); | 614 FX_BOOL OnLButtonUp(const CPDF_Point& point, FX_UINT nFlag); |
608 #ifdef PDF_ENABLE_XFA | 615 #ifdef PDF_ENABLE_XFA |
609 FX_BOOL OnRButtonDown(const CPDF_Point& point, FX_UINT nFlag); | 616 FX_BOOL OnRButtonDown(const CPDF_Point& point, FX_UINT nFlag); |
610 FX_BOOL OnRButtonUp(const CPDF_Point& point, FX_UINT nFlag); | 617 FX_BOOL OnRButtonUp(const CPDF_Point& point, FX_UINT nFlag); |
611 #endif | 618 #endif // PDF_ENABLE_XFA |
612 FX_BOOL OnChar(int nChar, FX_UINT nFlag); | 619 FX_BOOL OnChar(int nChar, FX_UINT nFlag); |
613 FX_BOOL OnKeyDown(int nKeyCode, int nFlag); | 620 FX_BOOL OnKeyDown(int nKeyCode, int nFlag); |
614 FX_BOOL OnKeyUp(int nKeyCode, int nFlag); | 621 FX_BOOL OnKeyUp(int nKeyCode, int nFlag); |
615 | 622 |
616 FX_BOOL OnMouseMove(const CPDF_Point& point, int nFlag); | 623 FX_BOOL OnMouseMove(const CPDF_Point& point, int nFlag); |
617 FX_BOOL OnMouseWheel(double deltaX, | 624 FX_BOOL OnMouseWheel(double deltaX, |
618 double deltaY, | 625 double deltaY, |
619 const CPDF_Point& point, | 626 const CPDF_Point& point, |
620 int nFlag); | 627 int nFlag); |
621 bool IsValidAnnot(const CPDF_Annot* p) const; | 628 bool IsValidAnnot(const CPDF_Annot* p) const; |
622 void GetCurrentMatrix(CPDF_Matrix& matrix) { matrix = m_curMatrix; } | 629 void GetCurrentMatrix(CPDF_Matrix& matrix) { matrix = m_curMatrix; } |
623 void UpdateRects(CFX_RectArray& rects); | 630 void UpdateRects(CFX_RectArray& rects); |
624 void UpdateView(CPDFSDK_Annot* pAnnot); | 631 void UpdateView(CPDFSDK_Annot* pAnnot); |
625 const std::vector<CPDFSDK_Annot*>& GetAnnotList() const { | 632 const std::vector<CPDFSDK_Annot*>& GetAnnotList() const { |
626 return m_fxAnnotArray; | 633 return m_fxAnnotArray; |
627 } | 634 } |
628 | 635 |
629 int GetPageIndex(); | 636 int GetPageIndex(); |
630 void LoadFXAnnots(); | 637 void LoadFXAnnots(); |
631 void SetValid(FX_BOOL bValid) { m_bValid = bValid; } | 638 void SetValid(FX_BOOL bValid) { m_bValid = bValid; } |
632 FX_BOOL IsValid() { return m_bValid; } | 639 FX_BOOL IsValid() { return m_bValid; } |
633 void SetLock(FX_BOOL bLocked) { m_bLocked = bLocked; } | 640 void SetLock(FX_BOOL bLocked) { m_bLocked = bLocked; } |
634 FX_BOOL IsLocked() { return m_bLocked; } | 641 FX_BOOL IsLocked() { return m_bLocked; } |
635 #ifndef PDF_ENABLE_XFA | 642 #ifndef PDF_ENABLE_XFA |
636 void TakeOverPage() { m_bTakeOverPage = TRUE; } | 643 void TakeOverPage() { m_bTakeOverPage = TRUE; } |
637 #endif | 644 #endif // PDF_ENABLE_XFA |
638 | 645 |
639 private: | 646 private: |
640 void PageView_OnHighlightFormFields(CFX_RenderDevice* pDevice, | 647 void PageView_OnHighlightFormFields(CFX_RenderDevice* pDevice, |
641 CPDFSDK_Widget* pWidget); | 648 CPDFSDK_Widget* pWidget); |
642 | 649 |
643 CPDF_Matrix m_curMatrix; | 650 CPDF_Matrix m_curMatrix; |
644 UnderlyingPageType* m_page; | 651 UnderlyingPageType* m_page; |
645 nonstd::unique_ptr<CPDF_AnnotList> m_pAnnotList; | 652 nonstd::unique_ptr<CPDF_AnnotList> m_pAnnotList; |
646 std::vector<CPDFSDK_Annot*> m_fxAnnotArray; | 653 std::vector<CPDFSDK_Annot*> m_fxAnnotArray; |
647 CPDFSDK_Document* m_pSDKDoc; | 654 CPDFSDK_Document* m_pSDKDoc; |
648 #ifndef PDF_ENABLE_XFA | 655 #ifdef PDF_ENABLE_XFA |
| 656 CPDFSDK_Annot* m_CaptureWidget; |
| 657 #else // PDF_ENABLE_XFA |
649 CPDFSDK_Widget* m_CaptureWidget; | 658 CPDFSDK_Widget* m_CaptureWidget; |
650 #else | 659 FX_BOOL m_bTakeOverPage; |
651 CPDFSDK_Annot* m_CaptureWidget; | 660 #endif // PDF_ENABLE_XFA |
652 #endif | |
653 FX_BOOL m_bEnterWidget; | 661 FX_BOOL m_bEnterWidget; |
654 FX_BOOL m_bExitWidget; | 662 FX_BOOL m_bExitWidget; |
655 FX_BOOL m_bOnWidget; | 663 FX_BOOL m_bOnWidget; |
656 FX_BOOL m_bValid; | 664 FX_BOOL m_bValid; |
657 FX_BOOL m_bLocked; | 665 FX_BOOL m_bLocked; |
658 #ifndef PDF_ENABLE_XFA | |
659 FX_BOOL m_bTakeOverPage; | |
660 #endif | |
661 }; | 666 }; |
662 | 667 |
663 template <class TYPE> | 668 template <class TYPE> |
664 class CGW_ArrayTemplate : public CFX_ArrayTemplate<TYPE> { | 669 class CGW_ArrayTemplate : public CFX_ArrayTemplate<TYPE> { |
665 public: | 670 public: |
666 CGW_ArrayTemplate() {} | 671 CGW_ArrayTemplate() {} |
667 ~CGW_ArrayTemplate() {} | 672 ~CGW_ArrayTemplate() {} |
668 | 673 |
669 typedef int (*LP_COMPARE)(TYPE p1, TYPE p2); | 674 typedef int (*LP_COMPARE)(TYPE p1, TYPE p2); |
670 | 675 |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
727 } | 732 } |
728 | 733 |
729 if (nStartPos < m) | 734 if (nStartPos < m) |
730 QuickSort(nStartPos, m, bAscend, pCompare); | 735 QuickSort(nStartPos, m, bAscend, pCompare); |
731 if (nStopPos > m) | 736 if (nStopPos > m) |
732 QuickSort(m, nStopPos, bAscend, pCompare); | 737 QuickSort(m, nStopPos, bAscend, pCompare); |
733 } | 738 } |
734 }; | 739 }; |
735 | 740 |
736 #endif // FPDFSDK_INCLUDE_FSDK_MGR_H_ | 741 #endif // FPDFSDK_INCLUDE_FSDK_MGR_H_ |
OLD | NEW |