| Index: fpdfsdk/src/fsdk_mgr.cpp
|
| diff --git a/fpdfsdk/src/fsdk_mgr.cpp b/fpdfsdk/src/fsdk_mgr.cpp
|
| index aac1673346c801cc8815ce2acca833290675fefe..69432a4af10d10b5c3f7e5f3416455d1173d0344 100644
|
| --- a/fpdfsdk/src/fsdk_mgr.cpp
|
| +++ b/fpdfsdk/src/fsdk_mgr.cpp
|
| @@ -95,12 +95,9 @@ void CFX_SystemHandler::SetCursor(int32_t nCursorType) {
|
| }
|
|
|
| void CFX_SystemHandler::InvalidateRect(FX_HWND hWnd, FX_RECT rect) {
|
| - // g_pFormFillApp->FFI_Invalidate();
|
| CPDFSDK_Annot* pSDKAnnot = (CPDFSDK_Annot*)hWnd;
|
| - CPDFXFA_Page* pPage = NULL;
|
| - CPDFSDK_PageView* pPageView = NULL;
|
| - pPageView = pSDKAnnot->GetPageView();
|
| - pPage = pSDKAnnot->GetPDFXFAPage();
|
| + CPDFSDK_PageView* pPageView = pSDKAnnot->GetPageView();
|
| + UnderlyingPageType* pPage = pSDKAnnot->GetUnderlyingPage();
|
| if (!pPage || !pPageView)
|
| return;
|
| CPDF_Matrix page2device;
|
| @@ -124,10 +121,8 @@ void CFX_SystemHandler::OutputSelectedRect(void* pFormFiller, CPDF_Rect& rect) {
|
| CPDF_Point righttop = CPDF_Point(rect.right, rect.top);
|
| CPDF_Point ptA = pFFL->PWLtoFFL(leftbottom);
|
| CPDF_Point ptB = pFFL->PWLtoFFL(righttop);
|
| -
|
| CPDFSDK_Annot* pAnnot = pFFL->GetSDKAnnot();
|
| - ASSERT(pAnnot);
|
| - CPDFXFA_Page* pPage = pAnnot->GetPDFXFAPage();
|
| + UnderlyingPageType* pPage = pAnnot->GetUnderlyingPage();
|
| ASSERT(pPage);
|
| m_pEnv->FFI_OutputSelectedRect(pPage, ptA.x, ptB.y, ptB.x, ptA.y);
|
| }
|
| @@ -210,9 +205,9 @@ FX_SYSTEMTIME CFX_SystemHandler::GetLocalTime() {
|
| return m_pEnv->FFI_GetLocalTime();
|
| }
|
|
|
| -CPDFDoc_Environment::CPDFDoc_Environment(CPDFXFA_Document* pDoc,
|
| +CPDFDoc_Environment::CPDFDoc_Environment(UnderlyingDocumentType* pDoc,
|
| FPDF_FORMFILLINFO* pFFinfo)
|
| - : m_pInfo(pFFinfo), m_pSDKDoc(NULL), m_pXFADoc(pDoc) {
|
| + : m_pInfo(pFFinfo), m_pSDKDoc(NULL), m_pUnderlyingDoc(pDoc) {
|
| m_pSysHandler.reset(new CFX_SystemHandler(this));
|
| }
|
|
|
| @@ -390,14 +385,13 @@ CFFL_IFormFiller* CPDFDoc_Environment::GetIFormFiller() {
|
| return m_pIFormFiller.get();
|
| }
|
|
|
| -CPDFSDK_Document::CPDFSDK_Document(CPDFXFA_Document* pDoc,
|
| +CPDFSDK_Document::CPDFSDK_Document(UnderlyingDocumentType* pDoc,
|
| CPDFDoc_Environment* pEnv)
|
| : m_pDoc(pDoc),
|
| m_pFocusAnnot(nullptr),
|
| m_pEnv(pEnv),
|
| m_bChangeMask(FALSE),
|
| - m_bBeingDestroyed(FALSE) {
|
| -}
|
| + m_bBeingDestroyed(FALSE) {}
|
|
|
| CPDFSDK_Document::~CPDFSDK_Document() {
|
| m_bBeingDestroyed = TRUE;
|
| @@ -410,29 +404,32 @@ CPDFSDK_Document::~CPDFSDK_Document() {
|
| m_pageMap.clear();
|
| }
|
|
|
| -CPDFSDK_PageView* CPDFSDK_Document::GetPageView(CPDFXFA_Page* pPDFXFAPage,
|
| - FX_BOOL ReNew) {
|
| - auto it = m_pageMap.find(pPDFXFAPage);
|
| +CPDFSDK_PageView* CPDFSDK_Document::GetPageView(
|
| + UnderlyingPageType* pUnderlyingPage,
|
| + FX_BOOL ReNew) {
|
| + auto it = m_pageMap.find(pUnderlyingPage);
|
| if (it != m_pageMap.end())
|
| return it->second;
|
|
|
| if (!ReNew)
|
| return nullptr;
|
|
|
| - CPDFSDK_PageView* pPageView = new CPDFSDK_PageView(this, pPDFXFAPage);
|
| - m_pageMap[pPDFXFAPage] = pPageView;
|
| + CPDFSDK_PageView* pPageView = new CPDFSDK_PageView(this, pUnderlyingPage);
|
| + m_pageMap[pUnderlyingPage] = pPageView;
|
| // Delay to load all the annotations, to avoid endless loop.
|
| pPageView->LoadFXAnnots();
|
| return pPageView;
|
| }
|
|
|
| CPDFSDK_PageView* CPDFSDK_Document::GetCurrentView() {
|
| - CPDFXFA_Page* pPage = (CPDFXFA_Page*)m_pEnv->FFI_GetCurrentPage(m_pDoc);
|
| + UnderlyingPageType* pPage =
|
| + UnderlyingFromFPDFPage(m_pEnv->FFI_GetCurrentPage(m_pDoc));
|
| return pPage ? GetPageView(pPage, TRUE) : nullptr;
|
| }
|
|
|
| CPDFSDK_PageView* CPDFSDK_Document::GetPageView(int nIndex) {
|
| - CPDFXFA_Page* pTempPage = (CPDFXFA_Page*)m_pEnv->FFI_GetPage(m_pDoc, nIndex);
|
| + UnderlyingPageType* pTempPage =
|
| + UnderlyingFromFPDFPage(m_pEnv->FFI_GetPage(m_pDoc, nIndex));
|
| if (!pTempPage)
|
| return nullptr;
|
|
|
| @@ -441,8 +438,8 @@ CPDFSDK_PageView* CPDFSDK_Document::GetPageView(int nIndex) {
|
| }
|
|
|
| void CPDFSDK_Document::ProcJavascriptFun() {
|
| - CPDFXFA_Document* pPDFDoc = GetDocument();
|
| - CPDF_DocJSActions docJS(pPDFDoc->GetPDFDoc());
|
| + CPDF_Document* pPDFDoc = GetPDFDocument();
|
| + CPDF_DocJSActions docJS(pPDFDoc);
|
| int iCount = docJS.CountJSActions();
|
| if (iCount < 1)
|
| return;
|
| @@ -459,7 +456,7 @@ FX_BOOL CPDFSDK_Document::ProcOpenAction() {
|
| if (!m_pDoc)
|
| return FALSE;
|
|
|
| - CPDF_Dictionary* pRoot = m_pDoc->GetPDFDoc()->GetRoot();
|
| + CPDF_Dictionary* pRoot = GetPDFDocument()->GetRoot();
|
| if (!pRoot)
|
| return FALSE;
|
|
|
| @@ -484,12 +481,12 @@ FX_BOOL CPDFSDK_Document::ProcOpenAction() {
|
|
|
| CPDF_OCContext* CPDFSDK_Document::GetOCContext() {
|
| if (!m_pOccontent)
|
| - m_pOccontent.reset(new CPDF_OCContext(m_pDoc->GetPDFDoc()));
|
| + m_pOccontent.reset(new CPDF_OCContext(GetPDFDocument()));
|
| return m_pOccontent.get();
|
| }
|
|
|
| -void CPDFSDK_Document::ReMovePageView(CPDFXFA_Page* pPDFXFAPage) {
|
| - auto it = m_pageMap.find(pPDFXFAPage);
|
| +void CPDFSDK_Document::RemovePageView(UnderlyingPageType* pUnderlyingPage) {
|
| + auto it = m_pageMap.find(pUnderlyingPage);
|
| if (it == m_pageMap.end())
|
| return;
|
|
|
| @@ -502,11 +499,8 @@ void CPDFSDK_Document::ReMovePageView(CPDFXFA_Page* pPDFXFAPage) {
|
| m_pageMap.erase(it);
|
| }
|
|
|
| -CPDFXFA_Page* CPDFSDK_Document::GetPage(int nIndex) {
|
| - CPDFXFA_Page* pTempPage = (CPDFXFA_Page*)m_pEnv->FFI_GetPage(m_pDoc, nIndex);
|
| - if (!pTempPage)
|
| - return NULL;
|
| - return pTempPage;
|
| +UnderlyingPageType* CPDFSDK_Document::GetPage(int nIndex) {
|
| + return UnderlyingFromFPDFPage(m_pEnv->FFI_GetPage(m_pDoc, nIndex));
|
| }
|
|
|
| CPDFSDK_InterForm* CPDFSDK_Document::GetInterForm() {
|
| @@ -590,21 +584,6 @@ FX_BOOL CPDFSDK_Document::KillFocusAnnot(FX_UINT nFlag) {
|
| return FALSE;
|
| }
|
|
|
| -FX_BOOL CPDFSDK_Document::DeletePages(int nStart, int nCount) {
|
| - if (nStart < 0 || nStart >= GetPageCount() || nCount <= 0) {
|
| - return FALSE;
|
| - }
|
| -
|
| - CPDFXFA_Page* pTempPage = NULL;
|
| - for (int i = nCount - 1; i >= 0; i--) {
|
| - pTempPage = GetPage(nStart + i);
|
| - if (pTempPage != NULL) {
|
| - ReMovePageView(pTempPage);
|
| - }
|
| - }
|
| - return TRUE;
|
| -}
|
| -
|
| void CPDFSDK_Document::OnCloseDocument() {
|
| KillFocusAnnot();
|
| }
|
| @@ -1011,7 +990,7 @@ void CPDFSDK_PageView::LoadFXAnnots() {
|
|
|
| SetLock(TRUE);
|
| m_page->AddRef();
|
| - if (m_pSDKDoc->GetDocument()->GetDocType() == DOCTYPE_DYNIMIC_XFA) {
|
| + if (m_pSDKDoc->GetXFADocument()->GetDocType() == DOCTYPE_DYNIMIC_XFA) {
|
| IXFA_PageView* pageView = NULL;
|
| pageView = m_page->GetXFAPageView();
|
| ASSERT(pageView != NULL);
|
| @@ -1081,9 +1060,9 @@ void CPDFSDK_PageView::UpdateView(CPDFSDK_Annot* pAnnot) {
|
| int CPDFSDK_PageView::GetPageIndex() {
|
| if (m_page) {
|
| CPDF_Dictionary* pDic = m_page->GetPDFPage()->m_pFormDict;
|
| - CPDFXFA_Document* pDoc = m_pSDKDoc->GetDocument();
|
| + CPDF_Document* pDoc = m_pSDKDoc->GetPDFDocument();
|
| if (pDoc && pDic) {
|
| - return pDoc->GetPDFDoc()->GetPageIndex(pDic->GetObjNum());
|
| + return pDoc->GetPageIndex(pDic->GetObjNum());
|
| }
|
| }
|
| return -1;
|
|
|