Chromium Code Reviews| Index: fpdfsdk/cpdfsdk_formfillenvironment.h |
| diff --git a/fpdfsdk/cpdfsdk_formfillenvironment.h b/fpdfsdk/cpdfsdk_formfillenvironment.h |
| index e5a693288f54256ad47f98c6b791ffc6ae0ce568..dd0e6bffe141973ef370b959cf96b12a4e1d774f 100644 |
| --- a/fpdfsdk/cpdfsdk_formfillenvironment.h |
| +++ b/fpdfsdk/cpdfsdk_formfillenvironment.h |
| @@ -14,6 +14,7 @@ |
| #include "core/fpdfdoc/cpdf_occontext.h" |
| #include "core/fxcrt/cfx_observable.h" |
| #include "fpdfsdk/cfx_systemhandler.h" |
| +#include "fpdfsdk/cpdfsdk_annot.h" |
| #include "fpdfsdk/fsdk_define.h" |
| #include "public/fpdf_formfill.h" |
| #include "public/fpdf_fwlevent.h" |
| @@ -22,7 +23,8 @@ class CFFL_InteractiveFormFiller; |
| class CFX_SystemHandler; |
| class CPDFSDK_ActionHandler; |
| class CPDFSDK_AnnotHandlerMgr; |
| -class CPDFSDK_Document; |
| +class CPDFSDK_InterForm; |
| +class CPDFSDK_PageView; |
| class IJS_Runtime; |
| class CPDFSDK_FormFillEnvironment |
| @@ -32,6 +34,68 @@ class CPDFSDK_FormFillEnvironment |
| FPDF_FORMFILLINFO* pFFinfo); |
| ~CPDFSDK_FormFillEnvironment(); |
| + CPDFSDK_InterForm* GetInterForm(); |
|
Tom Sepez
2016/10/12 18:52:59
nit: const method?
dsinclair
2016/10/12 19:44:29
Can't, creates if doesn't exist. Moved down with o
|
| + |
| + // Gets the document object for the next layer down; for master this is |
| + // a CPDF_Document, but for XFA it is a CPDFXFA_Document. |
| + UnderlyingDocumentType* GetUnderlyingDocument() const { |
| +#ifdef PDF_ENABLE_XFA |
| + return GetXFADocument(); |
| +#else // PDF_ENABLE_XFA |
| + return GetPDFDocument(); |
| +#endif // PDF_ENABLE_XFA |
| + } |
| + |
| + // Gets the CPDF_Document, either directly in master, or from the |
| + // CPDFXFA_Document for XFA. |
| + CPDF_Document* GetPDFDocument() const { |
| +#ifdef PDF_ENABLE_XFA |
| + return m_pUnderlyingDoc ? m_pUnderlyingDoc->GetPDFDoc() : nullptr; |
| +#else // PDF_ENABLE_XFA |
| + return m_pUnderlyingDoc; |
| +#endif // PDF_ENABLE_XFA |
| + } |
| + |
| +#ifdef PDF_ENABLE_XFA |
| + // Gets the XFA document directly (XFA-only). |
| + CPDFXFA_Document* GetXFADocument() const { return m_pUnderlyingDoc; } |
| + void ResetXFADocument() { m_pUnderlyingDoc = nullptr; } |
| + |
| + int GetPageViewCount() const { return m_pageMap.size(); } |
| +#endif // PDF_ENABLE_XFA |
| + |
| + CPDFSDK_PageView* GetPageView(UnderlyingPageType* pPage, bool ReNew); |
| + CPDFSDK_PageView* GetPageView(int nIndex); |
| + CPDFSDK_PageView* GetCurrentView(); |
| + void RemovePageView(UnderlyingPageType* pPage); |
| + void UpdateAllViews(CPDFSDK_PageView* pSender, CPDFSDK_Annot* pAnnot); |
| + |
| + CPDFSDK_Annot* GetFocusAnnot() { return m_pFocusAnnot.Get(); } |
| + FX_BOOL SetFocusAnnot(CPDFSDK_Annot::ObservedPtr* pAnnot); |
| + FX_BOOL KillFocusAnnot(uint32_t nFlag); |
| + void ClearAllFocusedAnnots(); |
| + |
| + FX_BOOL ExtractPages(const std::vector<uint16_t>& arrExtraPages, |
| + CPDF_Document* pDstDoc); |
| + FX_BOOL InsertPages(int nInsertAt, |
| + const CPDF_Document* pSrcDoc, |
| + const std::vector<uint16_t>& arrSrcPages); |
| + FX_BOOL ReplacePages(int nPage, |
| + const CPDF_Document* pSrcDoc, |
| + const std::vector<uint16_t>& arrSrcPages); |
| + |
| + int GetPageCount() { return m_pUnderlyingDoc->GetPageCount(); } |
| + FX_BOOL GetPermissions(int nFlag); |
| + |
| + FX_BOOL GetChangeMark() { return m_bChangeMask; } |
|
Tom Sepez
2016/10/12 18:52:59
nit: const method.
dsinclair
2016/10/12 19:44:29
Done.
|
| + void SetChangeMark() { m_bChangeMask = TRUE; } |
| + void ClearChangeMark() { m_bChangeMask = FALSE; } |
| + |
| + UnderlyingPageType* GetPage(int nIndex); |
| + |
| + void ProcJavascriptFun(); |
| + FX_BOOL ProcOpenAction(); |
| + |
| void Invalidate(FPDF_PAGE page, |
| double left, |
| double top, |
| @@ -148,10 +212,6 @@ class CPDFSDK_FormFillEnvironment |
| void JS_docgotoPage(int nPageNum); |
| FX_BOOL IsJSInitiated() const { return m_pInfo && m_pInfo->m_pJsPlatform; } |
| - CPDFSDK_Document* GetSDKDocument() const { return m_pSDKDoc.get(); } |
| - UnderlyingDocumentType* GetUnderlyingDocument() const { |
| - return m_pUnderlyingDoc; |
| - } |
| CFX_ByteString GetAppName() const { return ""; } |
| CFX_SystemHandler* GetSysHandler() const { return m_pSysHandler.get(); } |
| FPDF_FORMFILLINFO* GetFormFillInfo() const { return m_pInfo; } |
| @@ -167,10 +227,14 @@ class CPDFSDK_FormFillEnvironment |
| std::unique_ptr<CPDFSDK_ActionHandler> m_pActionHandler; |
| std::unique_ptr<IJS_Runtime> m_pJSRuntime; |
| FPDF_FORMFILLINFO* const m_pInfo; |
| - std::unique_ptr<CPDFSDK_Document> m_pSDKDoc; |
| - UnderlyingDocumentType* const m_pUnderlyingDoc; |
| + std::map<UnderlyingPageType*, CPDFSDK_PageView*> m_pageMap; |
| + std::unique_ptr<CPDFSDK_InterForm> m_pInterForm; |
| + CPDFSDK_Annot::ObservedPtr m_pFocusAnnot; |
| + UnderlyingDocumentType* m_pUnderlyingDoc; |
| std::unique_ptr<CFFL_InteractiveFormFiller> m_pFormFiller; |
| std::unique_ptr<CFX_SystemHandler> m_pSysHandler; |
| + FX_BOOL m_bChangeMask; |
|
Tom Sepez
2016/10/12 18:53:00
nit: bool (next line too)
dsinclair
2016/10/12 19:44:29
Done.
|
| + FX_BOOL m_bBeingDestroyed; |
| }; |
| #endif // FPDFSDK_CPDFSDK_FORMFILLENVIRONMENT_H_ |