| 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> |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 class CPDFSDK_ActionHandler; | 28 class CPDFSDK_ActionHandler; |
| 29 class CPDFSDK_Annot; | 29 class CPDFSDK_Annot; |
| 30 class CPDFSDK_Document; | 30 class CPDFSDK_Document; |
| 31 class CPDFSDK_InterForm; | 31 class CPDFSDK_InterForm; |
| 32 class CPDFSDK_PageView; | 32 class CPDFSDK_PageView; |
| 33 class CPDFSDK_Widget; | 33 class CPDFSDK_Widget; |
| 34 class IFX_SystemHandler; | 34 class IFX_SystemHandler; |
| 35 | 35 |
| 36 class CPDFDoc_Environment final { | 36 class CPDFDoc_Environment final { |
| 37 public: | 37 public: |
| 38 CPDFDoc_Environment(CPDFXFA_Document* pDoc, FPDF_FORMFILLINFO* pFFinfo); | 38 CPDFDoc_Environment(UnderlyingDocumentType* pDoc, FPDF_FORMFILLINFO* pFFinfo); |
| 39 ~CPDFDoc_Environment(); | 39 ~CPDFDoc_Environment(); |
| 40 | 40 |
| 41 void Release() { | 41 void Release() { |
| 42 if (m_pInfo && m_pInfo->Release) | 42 if (m_pInfo && m_pInfo->Release) |
| 43 m_pInfo->Release(m_pInfo); | 43 m_pInfo->Release(m_pInfo); |
| 44 delete this; | 44 delete this; |
| 45 } | 45 } |
| 46 | 46 |
| 47 void FFI_Invalidate(FPDF_PAGE page, | 47 void FFI_Invalidate(FPDF_PAGE page, |
| 48 double left, | 48 double left, |
| (...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 442 bsRet.GetLength() / sizeof(unsigned short)); | 442 bsRet.GetLength() / sizeof(unsigned short)); |
| 443 delete[] pbuff; | 443 delete[] pbuff; |
| 444 return wsRet; | 444 return wsRet; |
| 445 } | 445 } |
| 446 return L""; | 446 return L""; |
| 447 } | 447 } |
| 448 | 448 |
| 449 FX_BOOL IsJSInitiated() const { return m_pInfo && m_pInfo->m_pJsPlatform; } | 449 FX_BOOL IsJSInitiated() const { return m_pInfo && m_pInfo->m_pJsPlatform; } |
| 450 void SetSDKDocument(CPDFSDK_Document* pFXDoc) { m_pSDKDoc = pFXDoc; } | 450 void SetSDKDocument(CPDFSDK_Document* pFXDoc) { m_pSDKDoc = pFXDoc; } |
| 451 CPDFSDK_Document* GetSDKDocument() const { return m_pSDKDoc; } | 451 CPDFSDK_Document* GetSDKDocument() const { return m_pSDKDoc; } |
| 452 CPDFXFA_Document* GetPDFXFADocument() const { return m_pXFADoc; } | 452 UnderlyingDocumentType* GetUnderlyingDocument() const { |
| 453 return m_pUnderlyingDoc; |
| 454 } |
| 453 CFX_ByteString GetAppName() const { return ""; } | 455 CFX_ByteString GetAppName() const { return ""; } |
| 454 IFX_SystemHandler* GetSysHandler() const { return m_pSysHandler.get(); } | 456 IFX_SystemHandler* GetSysHandler() const { return m_pSysHandler.get(); } |
| 455 FPDF_FORMFILLINFO* GetFormFillInfo() const { return m_pInfo; } | 457 FPDF_FORMFILLINFO* GetFormFillInfo() const { return m_pInfo; } |
| 456 | 458 |
| 457 CFFL_IFormFiller* GetIFormFiller(); // Creates if not present. | 459 CFFL_IFormFiller* GetIFormFiller(); // Creates if not present. |
| 458 CPDFSDK_AnnotHandlerMgr* GetAnnotHandlerMgr(); // Creates if not present. | 460 CPDFSDK_AnnotHandlerMgr* GetAnnotHandlerMgr(); // Creates if not present. |
| 459 IJS_Runtime* GetJSRuntime(); // Creates if not present. | 461 IJS_Runtime* GetJSRuntime(); // Creates if not present. |
| 460 CPDFSDK_ActionHandler* GetActionHander(); // Creates if not present. | 462 CPDFSDK_ActionHandler* GetActionHander(); // Creates if not present. |
| 461 | 463 |
| 462 private: | 464 private: |
| 463 nonstd::unique_ptr<CPDFSDK_AnnotHandlerMgr> m_pAnnotHandlerMgr; | 465 nonstd::unique_ptr<CPDFSDK_AnnotHandlerMgr> m_pAnnotHandlerMgr; |
| 464 nonstd::unique_ptr<CPDFSDK_ActionHandler> m_pActionHandler; | 466 nonstd::unique_ptr<CPDFSDK_ActionHandler> m_pActionHandler; |
| 465 nonstd::unique_ptr<IJS_Runtime> m_pJSRuntime; | 467 nonstd::unique_ptr<IJS_Runtime> m_pJSRuntime; |
| 466 FPDF_FORMFILLINFO* const m_pInfo; | 468 FPDF_FORMFILLINFO* const m_pInfo; |
| 467 CPDFSDK_Document* m_pSDKDoc; | 469 CPDFSDK_Document* m_pSDKDoc; |
| 468 CPDFXFA_Document* const m_pXFADoc; | 470 UnderlyingDocumentType* const m_pUnderlyingDoc; |
| 469 nonstd::unique_ptr<CFFL_IFormFiller> m_pIFormFiller; | 471 nonstd::unique_ptr<CFFL_IFormFiller> m_pIFormFiller; |
| 470 nonstd::unique_ptr<IFX_SystemHandler> m_pSysHandler; | 472 nonstd::unique_ptr<IFX_SystemHandler> m_pSysHandler; |
| 471 }; | 473 }; |
| 472 | 474 |
| 473 class CPDFSDK_Document { | 475 class CPDFSDK_Document { |
| 474 public: | 476 public: |
| 475 CPDFSDK_Document(CPDFXFA_Document* pDoc, CPDFDoc_Environment* pEnv); | 477 CPDFSDK_Document(UnderlyingDocumentType* pDoc, CPDFDoc_Environment* pEnv); |
| 476 ~CPDFSDK_Document(); | 478 ~CPDFSDK_Document(); |
| 477 | 479 |
| 478 CPDFSDK_InterForm* GetInterForm(); | 480 CPDFSDK_InterForm* GetInterForm(); |
| 479 CPDFXFA_Document* GetDocument() const { return m_pDoc; } | 481 |
| 482 UnderlyingDocumentType* GetUnderlyingDocument() const { |
| 483 return GetXFADocument(); |
| 484 } |
| 480 CPDF_Document* GetPDFDocument() const { | 485 CPDF_Document* GetPDFDocument() const { |
| 481 return m_pDoc ? m_pDoc->GetPDFDoc() : nullptr; | 486 return m_pDoc ? m_pDoc->GetPDFDoc() : nullptr; |
| 482 } | 487 } |
| 488 CPDFXFA_Document* GetXFADocument() const { return m_pDoc; } |
| 483 | 489 |
| 484 int GetPageViewCount() const { return m_pageMap.size(); } | 490 int GetPageViewCount() const { return m_pageMap.size(); } |
| 485 CPDFSDK_PageView* GetPageView(CPDFXFA_Page* pPDFXFAPage, | 491 CPDFSDK_PageView* GetPageView(UnderlyingPageType* pPDFXFAPage, |
| 486 FX_BOOL ReNew = TRUE); | 492 FX_BOOL ReNew = TRUE); |
| 487 CPDFSDK_PageView* GetPageView(int nIndex); | 493 CPDFSDK_PageView* GetPageView(int nIndex); |
| 488 CPDFSDK_PageView* GetCurrentView(); | 494 CPDFSDK_PageView* GetCurrentView(); |
| 489 void ReMovePageView(CPDFXFA_Page* pPDFPage); | 495 void RemovePageView(UnderlyingPageType* pPDFPage); |
| 490 void UpdateAllViews(CPDFSDK_PageView* pSender, CPDFSDK_Annot* pAnnot); | 496 void UpdateAllViews(CPDFSDK_PageView* pSender, CPDFSDK_Annot* pAnnot); |
| 491 | 497 |
| 492 CPDFSDK_Annot* GetFocusAnnot(); | 498 CPDFSDK_Annot* GetFocusAnnot(); |
| 493 | 499 |
| 494 IJS_Runtime* GetJsRuntime(); | 500 IJS_Runtime* GetJsRuntime(); |
| 495 | 501 |
| 496 FX_BOOL SetFocusAnnot(CPDFSDK_Annot* pAnnot, FX_UINT nFlag = 0); | 502 FX_BOOL SetFocusAnnot(CPDFSDK_Annot* pAnnot, FX_UINT nFlag = 0); |
| 497 FX_BOOL KillFocusAnnot(FX_UINT nFlag = 0); | 503 FX_BOOL KillFocusAnnot(FX_UINT nFlag = 0); |
| 498 | 504 |
| 499 FX_BOOL ExtractPages(const CFX_WordArray& arrExtraPages, | 505 FX_BOOL ExtractPages(const CFX_WordArray& arrExtraPages, |
| 500 CPDF_Document* pDstDoc); | 506 CPDF_Document* pDstDoc); |
| 501 FX_BOOL InsertPages(int nInsertAt, | 507 FX_BOOL InsertPages(int nInsertAt, |
| 502 const CPDF_Document* pSrcDoc, | 508 const CPDF_Document* pSrcDoc, |
| 503 const CFX_WordArray& arrSrcPages); | 509 const CFX_WordArray& arrSrcPages); |
| 504 FX_BOOL DeletePages(int nStart, int nCount); | |
| 505 FX_BOOL ReplacePages(int nPage, | 510 FX_BOOL ReplacePages(int nPage, |
| 506 const CPDF_Document* pSrcDoc, | 511 const CPDF_Document* pSrcDoc, |
| 507 const CFX_WordArray& arrSrcPages); | 512 const CFX_WordArray& arrSrcPages); |
| 508 | 513 |
| 509 void OnCloseDocument(); | 514 void OnCloseDocument(); |
| 510 | 515 |
| 511 int GetPageCount() { return m_pDoc->GetPageCount(); } | 516 int GetPageCount() { return m_pDoc->GetPageCount(); } |
| 512 FX_BOOL GetPermissions(int nFlag); | 517 FX_BOOL GetPermissions(int nFlag); |
| 513 FX_BOOL GetChangeMark() { return m_bChangeMask; } | 518 FX_BOOL GetChangeMark() { return m_bChangeMask; } |
| 514 void SetChangeMark() { m_bChangeMask = TRUE; } | 519 void SetChangeMark() { m_bChangeMask = TRUE; } |
| 515 void ClearChangeMark() { m_bChangeMask = FALSE; } | 520 void ClearChangeMark() { m_bChangeMask = FALSE; } |
| 516 CFX_WideString GetPath(); | 521 CFX_WideString GetPath(); |
| 517 CPDFXFA_Page* GetPage(int nIndex); | 522 CPDFXFA_Page* GetPage(int nIndex); |
| 518 CPDFDoc_Environment* GetEnv() { return m_pEnv; } | 523 CPDFDoc_Environment* GetEnv() { return m_pEnv; } |
| 519 void ProcJavascriptFun(); | 524 void ProcJavascriptFun(); |
| 520 FX_BOOL ProcOpenAction(); | 525 FX_BOOL ProcOpenAction(); |
| 521 CPDF_OCContext* GetOCContext(); | 526 CPDF_OCContext* GetOCContext(); |
| 522 | 527 |
| 523 private: | 528 private: |
| 524 std::map<CPDFXFA_Page*, CPDFSDK_PageView*> m_pageMap; | 529 std::map<CPDFXFA_Page*, CPDFSDK_PageView*> m_pageMap; |
| 525 CPDFXFA_Document* m_pDoc; | 530 UnderlyingDocumentType* m_pDoc; |
| 526 nonstd::unique_ptr<CPDFSDK_InterForm> m_pInterForm; | 531 nonstd::unique_ptr<CPDFSDK_InterForm> m_pInterForm; |
| 527 CPDFSDK_Annot* m_pFocusAnnot; | 532 CPDFSDK_Annot* m_pFocusAnnot; |
| 528 CPDFDoc_Environment* m_pEnv; | 533 CPDFDoc_Environment* m_pEnv; |
| 529 nonstd::unique_ptr<CPDF_OCContext> m_pOccontent; | 534 nonstd::unique_ptr<CPDF_OCContext> m_pOccontent; |
| 530 FX_BOOL m_bChangeMask; | 535 FX_BOOL m_bChangeMask; |
| 531 FX_BOOL m_bBeingDestroyed; | 536 FX_BOOL m_bBeingDestroyed; |
| 532 }; | 537 }; |
| 533 class CPDFSDK_PageView final { | 538 class CPDFSDK_PageView final { |
| 534 public: | 539 public: |
| 535 CPDFSDK_PageView(CPDFSDK_Document* pSDKDoc, CPDFXFA_Page* page); | 540 CPDFSDK_PageView(CPDFSDK_Document* pSDKDoc, CPDFXFA_Page* page); |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 677 } | 682 } |
| 678 | 683 |
| 679 if (nStartPos < m) | 684 if (nStartPos < m) |
| 680 QuickSort(nStartPos, m, bAscend, pCompare); | 685 QuickSort(nStartPos, m, bAscend, pCompare); |
| 681 if (nStopPos > m) | 686 if (nStopPos > m) |
| 682 QuickSort(m, nStopPos, bAscend, pCompare); | 687 QuickSort(m, nStopPos, bAscend, pCompare); |
| 683 } | 688 } |
| 684 }; | 689 }; |
| 685 | 690 |
| 686 #endif // FPDFSDK_INCLUDE_FSDK_MGR_H_ | 691 #endif // FPDFSDK_INCLUDE_FSDK_MGR_H_ |
| OLD | NEW |