Index: fpdfsdk/src/fsdk_annothandler.cpp |
diff --git a/fpdfsdk/src/fsdk_annothandler.cpp b/fpdfsdk/src/fsdk_annothandler.cpp |
index 5edd88a8e254c0fbd90e0b01effb2b1e3f621e06..aa383844b4338a287cd2afcee7683397da0e5daa 100644 |
--- a/fpdfsdk/src/fsdk_annothandler.cpp |
+++ b/fpdfsdk/src/fsdk_annothandler.cpp |
@@ -6,8 +6,10 @@ |
#include <algorithm> |
+#ifdef PDF_ENABLE_XFA |
#include "../include/fpdfxfa/fpdfxfa_doc.h" |
#include "../include/fpdfxfa/fpdfxfa_util.h" |
+#endif |
#include "fpdfsdk/include/formfiller/FFL_FormFiller.h" |
#include "fpdfsdk/include/fsdk_annothandler.h" |
#include "fpdfsdk/include/fsdk_define.h" |
@@ -19,10 +21,12 @@ CPDFSDK_AnnotHandlerMgr::CPDFSDK_AnnotHandlerMgr(CPDFDoc_Environment* pApp) { |
CPDFSDK_BFAnnotHandler* pHandler = new CPDFSDK_BFAnnotHandler(m_pApp); |
pHandler->SetFormFiller(m_pApp->GetIFormFiller()); |
RegisterAnnotHandler(pHandler); |
+#ifdef PDF_ENABLE_XFA |
CPDFSDK_XFAAnnotHandler* pXFAAnnotHandler = |
new CPDFSDK_XFAAnnotHandler(m_pApp); |
RegisterAnnotHandler(pXFAAnnotHandler); |
+#endif |
} |
CPDFSDK_AnnotHandlerMgr::~CPDFSDK_AnnotHandlerMgr() { |
@@ -66,6 +70,7 @@ CPDFSDK_Annot* CPDFSDK_AnnotHandlerMgr::NewAnnot(CPDF_Annot* pAnnot, |
return new CPDFSDK_BAAnnot(pAnnot, pPageView); |
} |
+#ifdef PDF_ENABLE_XFA |
CPDFSDK_Annot* CPDFSDK_AnnotHandlerMgr::NewAnnot(IXFA_Widget* pAnnot, |
CPDFSDK_PageView* pPageView) { |
ASSERT(pAnnot != NULL); |
@@ -79,6 +84,7 @@ CPDFSDK_Annot* CPDFSDK_AnnotHandlerMgr::NewAnnot(IXFA_Widget* pAnnot, |
return NULL; |
} |
+#endif |
void CPDFSDK_AnnotHandlerMgr::ReleaseAnnot(CPDFSDK_Annot* pAnnot) { |
ASSERT(pAnnot != NULL); |
@@ -121,8 +127,10 @@ IPDFSDK_AnnotHandler* CPDFSDK_AnnotHandlerMgr::GetAnnotHandler( |
CPDF_Annot* pPDFAnnot = pAnnot->GetPDFAnnot(); |
if (pPDFAnnot) |
return GetAnnotHandler(pPDFAnnot->GetSubType()); |
+#ifdef PDF_ENABLE_XFA |
if (pAnnot->GetXFAWidget()) |
return GetAnnotHandler(FSDK_XFAWIDGET_TYPENAME); |
+#endif |
return nullptr; |
} |
@@ -142,8 +150,10 @@ void CPDFSDK_AnnotHandlerMgr::Annot_OnDraw(CPDFSDK_PageView* pPageView, |
if (IPDFSDK_AnnotHandler* pAnnotHandler = GetAnnotHandler(pAnnot)) { |
pAnnotHandler->OnDraw(pPageView, pAnnot, pDevice, pUser2Device, dwFlags); |
} else { |
+#ifdef PDF_ENABLE_XFA |
if (pAnnot->IsXFAField()) |
return; |
+#endif |
static_cast<CPDFSDK_BAAnnot*>(pAnnot) |
->DrawAppearance(pDevice, pUser2Device, CPDF_Annot::Normal, nullptr); |
} |
@@ -315,6 +325,7 @@ FX_BOOL CPDFSDK_AnnotHandlerMgr::Annot_OnKillFocus(CPDFSDK_Annot* pAnnot, |
return FALSE; |
} |
+#ifdef PDF_ENABLE_XFA |
FX_BOOL CPDFSDK_AnnotHandlerMgr::Annot_OnChangeFocus( |
CPDFSDK_Annot* pSetAnnot, |
CPDFSDK_Annot* pKillAnnot) { |
@@ -330,6 +341,7 @@ FX_BOOL CPDFSDK_AnnotHandlerMgr::Annot_OnChangeFocus( |
return TRUE; |
} |
+#endif |
CPDF_Rect CPDFSDK_AnnotHandlerMgr::Annot_OnGetViewBBox( |
CPDFSDK_PageView* pPageView, |
CPDFSDK_Annot* pAnnot) { |
@@ -353,6 +365,10 @@ FX_BOOL CPDFSDK_AnnotHandlerMgr::Annot_OnHitTest(CPDFSDK_PageView* pPageView, |
CPDFSDK_Annot* CPDFSDK_AnnotHandlerMgr::GetNextAnnot(CPDFSDK_Annot* pSDKAnnot, |
FX_BOOL bNext) { |
+#ifndef PDF_ENABLE_XFA |
+ CBA_AnnotIterator ai(pSDKAnnot->GetPageView(), "Widget", ""); |
+ return bNext ? ai.GetNextAnnot(pSDKAnnot) : ai.GetPrevAnnot(pSDKAnnot); |
+#else |
CPDFSDK_PageView* pPageView = pSDKAnnot->GetPageView(); |
CPDFXFA_Page* pPage = pPageView->GetPDFXFAPage(); |
if (pPage == NULL) |
@@ -381,6 +397,7 @@ CPDFSDK_Annot* CPDFSDK_AnnotHandlerMgr::GetNextAnnot(CPDFSDK_Annot* pSDKAnnot, |
pWidgetIterator->Release(); |
return pPageView->GetAnnotByXFAWidget(hNextFocus); |
+#endif |
} |
FX_BOOL CPDFSDK_BFAnnotHandler::CanAnswer(CPDFSDK_Annot* pAnnot) { |
@@ -424,11 +441,13 @@ CPDFSDK_Annot* CPDFSDK_BFAnnotHandler::NewAnnot(CPDF_Annot* pAnnot, |
return pWidget; |
} |
+#ifdef PDF_ENABLE_XFA |
CPDFSDK_Annot* CPDFSDK_BFAnnotHandler::NewAnnot(IXFA_Widget* hWidget, |
CPDFSDK_PageView* pPage) { |
return NULL; |
} |
+#endif |
void CPDFSDK_BFAnnotHandler::ReleaseAnnot(CPDFSDK_Annot* pAnnot) { |
ASSERT(pAnnot != NULL); |
@@ -662,6 +681,7 @@ void CPDFSDK_BFAnnotHandler::OnLoad(CPDFSDK_Annot* pAnnot) { |
} |
} |
+#ifdef PDF_ENABLE_XFA |
CPDFSDK_PageView* pPageView = pAnnot->GetPageView(); |
CPDFSDK_Document* pSDKDoc = pPageView->GetSDKDocument(); |
CPDFXFA_Document* pDoc = pSDKDoc->GetXFADocument(); |
@@ -670,6 +690,7 @@ void CPDFSDK_BFAnnotHandler::OnLoad(CPDFSDK_Annot* pAnnot) { |
pWidget->ResetAppearance(FALSE); |
} |
+#endif |
if (m_pFormFiller) |
m_pFormFiller->OnLoad(pAnnot); |
} |
@@ -725,6 +746,7 @@ FX_BOOL CPDFSDK_BFAnnotHandler::HitTest(CPDFSDK_PageView* pPageView, |
return rect.Contains(point.x, point.y); |
} |
+#ifdef PDF_ENABLE_XFA |
#define FWL_WGTHITTEST_Unknown 0 |
#define FWL_WGTHITTEST_Client 1 // arrow |
#define FWL_WGTHITTEST_Titlebar 11 // caption |
@@ -1143,6 +1165,7 @@ FX_DWORD CPDFSDK_XFAAnnotHandler::GetFWLFlags(FX_DWORD dwFlag) { |
return dwFWLFlag; |
} |
+#endif |
CPDFSDK_AnnotIterator::CPDFSDK_AnnotIterator(CPDFSDK_PageView* pPageView, |
bool bReverse) |
: m_bReverse(bReverse), m_pos(0) { |