| Index: fpdfsdk/include/fsdk_mgr.h
|
| diff --git a/fpdfsdk/include/fsdk_mgr.h b/fpdfsdk/include/fsdk_mgr.h
|
| index 4b217f1ad33d1ca38d531e10ae1139f4eeb75e1a..385cfdbbff7267d89c63d41d7e64fb678a696564 100644
|
| --- a/fpdfsdk/include/fsdk_mgr.h
|
| +++ b/fpdfsdk/include/fsdk_mgr.h
|
| @@ -10,10 +10,6 @@
|
| #include <map>
|
|
|
| #include "core/include/fpdftext/fpdf_text.h"
|
| -#ifdef PDF_ENABLE_XFA
|
| -#include "fpdfxfa/fpdfxfa_doc.h"
|
| -#include "fpdfxfa/fpdfxfa_page.h"
|
| -#endif
|
| #include "fsdk_actionhandler.h"
|
| #include "fsdk_annothandler.h"
|
| #include "fsdk_baseannot.h"
|
| @@ -26,6 +22,11 @@
|
| #include "public/fpdf_fwlevent.h" // cross platform keycode and events define.
|
| #include "third_party/base/nonstd_unique_ptr.h"
|
|
|
| +#ifdef PDF_ENABLE_XFA
|
| +#include "fpdfxfa/fpdfxfa_doc.h"
|
| +#include "fpdfxfa/fpdfxfa_page.h"
|
| +#endif // PDF_ENABLE_XFA
|
| +
|
| class CFFL_IFormFiller;
|
| class CPDFSDK_ActionHandler;
|
| class CPDFSDK_Annot;
|
| @@ -46,8 +47,8 @@ class CPDFDoc_Environment final {
|
| m_pInfo->Release(m_pInfo);
|
| delete this;
|
| }
|
| +#endif // PDF_ENABLE_XFA
|
|
|
| -#endif
|
| void FFI_Invalidate(FPDF_PAGE page,
|
| double left,
|
| double top,
|
| @@ -450,8 +451,8 @@ class CPDFDoc_Environment final {
|
| }
|
| return L"";
|
| }
|
| +#endif // PDF_ENABLE_XFA
|
|
|
| -#endif
|
| FX_BOOL IsJSInitiated() const { return m_pInfo && m_pInfo->m_pJsPlatform; }
|
| void SetSDKDocument(CPDFSDK_Document* pFXDoc) { m_pSDKDoc = pFXDoc; }
|
| CPDFSDK_Document* GetSDKDocument() const { return m_pSDKDoc; }
|
| @@ -488,29 +489,30 @@ class CPDFSDK_Document {
|
| // 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 {
|
| -#ifndef PDF_ENABLE_XFA
|
| - return GetPDFDocument();
|
| -#else
|
| +#ifdef PDF_ENABLE_XFA
|
| return GetXFADocument();
|
| -#endif
|
| +#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.
|
| -#ifndef PDF_ENABLE_XFA
|
| - CPDF_Document* GetPDFDocument() const { return m_pDoc; }
|
| -#else
|
| CPDF_Document* GetPDFDocument() const {
|
| +#ifdef PDF_ENABLE_XFA
|
| return m_pDoc ? m_pDoc->GetPDFDoc() : nullptr;
|
| +#else // PDF_ENABLE_XFA
|
| + return m_pDoc;
|
| +#endif // PDF_ENABLE_XFA
|
| }
|
|
|
| +#ifdef PDF_ENABLE_XFA
|
| // Gets the XFA document directly (XFA-only).
|
| CPDFXFA_Document* GetXFADocument() const { return m_pDoc; }
|
| -#endif
|
|
|
| -#ifdef PDF_ENABLE_XFA
|
| int GetPageViewCount() const { return m_pageMap.size(); }
|
| -#endif
|
| +#endif // PDF_ENABLE_XFA
|
| +
|
| CPDFSDK_PageView* GetPageView(UnderlyingPageType* pPage,
|
| FX_BOOL ReNew = TRUE);
|
| CPDFSDK_PageView* GetPageView(int nIndex);
|
| @@ -562,14 +564,18 @@ class CPDFSDK_PageView final {
|
| public:
|
| CPDFSDK_PageView(CPDFSDK_Document* pSDKDoc, UnderlyingPageType* page);
|
| ~CPDFSDK_PageView();
|
| +
|
| +#ifdef PDF_ENABLE_XFA
|
| void PageView_OnDraw(CFX_RenderDevice* pDevice,
|
| CPDF_Matrix* pUser2Device,
|
| -#ifndef PDF_ENABLE_XFA
|
| - CPDF_RenderOptions* pOptions);
|
| -#else
|
| CPDF_RenderOptions* pOptions,
|
| const FX_RECT& pClip);
|
| -#endif
|
| +#else // PDF_ENABLE_XFA
|
| + void PageView_OnDraw(CFX_RenderDevice* pDevice,
|
| + CPDF_Matrix* pUser2Device,
|
| + CPDF_RenderOptions* pOptions);
|
| +#endif // PDF_ENABLE_XFA
|
| +
|
| const CPDF_Annot* GetPDFAnnotAtPoint(FX_FLOAT pageX, FX_FLOAT pageY);
|
| CPDFSDK_Annot* GetFXAnnotAtPoint(FX_FLOAT pageX, FX_FLOAT pageY);
|
| const CPDF_Annot* GetPDFWidgetAtPoint(FX_FLOAT pageX, FX_FLOAT pageY);
|
| @@ -587,20 +593,21 @@ class CPDFSDK_PageView final {
|
| CPDFSDK_Annot* AddAnnot(CPDF_Dictionary* pDict);
|
| CPDFSDK_Annot* AddAnnot(const FX_CHAR* lpSubType, CPDF_Dictionary* pDict);
|
| CPDFSDK_Annot* AddAnnot(CPDF_Annot* pPDFAnnot);
|
| -#ifdef PDF_ENABLE_XFA
|
| - CPDFSDK_Annot* AddAnnot(IXFA_Widget* pPDFAnnot);
|
| -#endif
|
| +
|
| FX_BOOL DeleteAnnot(CPDFSDK_Annot* pAnnot);
|
| size_t CountAnnots() const;
|
| CPDFSDK_Annot* GetAnnot(size_t nIndex);
|
| CPDFSDK_Annot* GetAnnotByDict(CPDF_Dictionary* pDict);
|
| -#ifndef PDF_ENABLE_XFA
|
| - CPDF_Page* GetPDFPage() { return m_page; }
|
| -#else
|
| +
|
| +#ifdef PDF_ENABLE_XFA
|
| + CPDFSDK_Annot* AddAnnot(IXFA_Widget* pPDFAnnot);
|
| CPDFSDK_Annot* GetAnnotByXFAWidget(IXFA_Widget* hWidget);
|
| CPDFXFA_Page* GetPDFXFAPage() { return m_page; }
|
| CPDF_Page* GetPDFPage();
|
| -#endif
|
| +#else
|
| + CPDF_Page* GetPDFPage() { return m_page; }
|
| +#endif // PDF_ENABLE_XFA
|
| +
|
| CPDF_Document* GetPDFDocument();
|
| CPDFSDK_Document* GetSDKDocument() { return m_pSDKDoc; }
|
| FX_BOOL OnLButtonDown(const CPDF_Point& point, FX_UINT nFlag);
|
| @@ -608,7 +615,7 @@ class CPDFSDK_PageView final {
|
| #ifdef PDF_ENABLE_XFA
|
| FX_BOOL OnRButtonDown(const CPDF_Point& point, FX_UINT nFlag);
|
| FX_BOOL OnRButtonUp(const CPDF_Point& point, FX_UINT nFlag);
|
| -#endif
|
| +#endif // PDF_ENABLE_XFA
|
| FX_BOOL OnChar(int nChar, FX_UINT nFlag);
|
| FX_BOOL OnKeyDown(int nKeyCode, int nFlag);
|
| FX_BOOL OnKeyUp(int nKeyCode, int nFlag);
|
| @@ -634,7 +641,7 @@ class CPDFSDK_PageView final {
|
| FX_BOOL IsLocked() { return m_bLocked; }
|
| #ifndef PDF_ENABLE_XFA
|
| void TakeOverPage() { m_bTakeOverPage = TRUE; }
|
| -#endif
|
| +#endif // PDF_ENABLE_XFA
|
|
|
| private:
|
| void PageView_OnHighlightFormFields(CFX_RenderDevice* pDevice,
|
| @@ -645,19 +652,17 @@ class CPDFSDK_PageView final {
|
| nonstd::unique_ptr<CPDF_AnnotList> m_pAnnotList;
|
| std::vector<CPDFSDK_Annot*> m_fxAnnotArray;
|
| CPDFSDK_Document* m_pSDKDoc;
|
| -#ifndef PDF_ENABLE_XFA
|
| - CPDFSDK_Widget* m_CaptureWidget;
|
| -#else
|
| +#ifdef PDF_ENABLE_XFA
|
| CPDFSDK_Annot* m_CaptureWidget;
|
| -#endif
|
| +#else // PDF_ENABLE_XFA
|
| + CPDFSDK_Widget* m_CaptureWidget;
|
| + FX_BOOL m_bTakeOverPage;
|
| +#endif // PDF_ENABLE_XFA
|
| FX_BOOL m_bEnterWidget;
|
| FX_BOOL m_bExitWidget;
|
| FX_BOOL m_bOnWidget;
|
| FX_BOOL m_bValid;
|
| FX_BOOL m_bLocked;
|
| -#ifndef PDF_ENABLE_XFA
|
| - FX_BOOL m_bTakeOverPage;
|
| -#endif
|
| };
|
|
|
| template <class TYPE>
|
|
|