| 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 #include "fpdfsdk/fpdfxfa/cpdfxfa_document.h" | 7 #include "fpdfsdk/fpdfxfa/cpdfxfa_document.h" |
| 8 | 8 |
| 9 #include "core/fpdfapi/parser/cpdf_document.h" | 9 #include "core/fpdfapi/parser/cpdf_document.h" |
| 10 #include "fpdfsdk/cpdfsdk_document.h" | 10 #include "fpdfsdk/cpdfsdk_document.h" |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 | 26 |
| 27 #ifndef _WIN32 | 27 #ifndef _WIN32 |
| 28 extern void SetLastError(int err); | 28 extern void SetLastError(int err); |
| 29 extern int GetLastError(); | 29 extern int GetLastError(); |
| 30 #endif | 30 #endif |
| 31 | 31 |
| 32 CPDFXFA_Document::CPDFXFA_Document(std::unique_ptr<CPDF_Document> pPDFDoc, | 32 CPDFXFA_Document::CPDFXFA_Document(std::unique_ptr<CPDF_Document> pPDFDoc, |
| 33 CPDFXFA_App* pProvider) | 33 CPDFXFA_App* pProvider) |
| 34 : m_iDocType(DOCTYPE_PDF), | 34 : m_iDocType(DOCTYPE_PDF), |
| 35 m_pPDFDoc(std::move(pPDFDoc)), | 35 m_pPDFDoc(std::move(pPDFDoc)), |
| 36 m_pSDKDoc(nullptr), |
| 36 m_pXFADocView(nullptr), | 37 m_pXFADocView(nullptr), |
| 37 m_pApp(pProvider), | 38 m_pApp(pProvider), |
| 38 m_nLoadStatus(FXFA_LOADSTATUS_PRELOAD), | 39 m_nLoadStatus(FXFA_LOADSTATUS_PRELOAD), |
| 39 m_nPageCount(0), | 40 m_nPageCount(0), |
| 40 m_DocEnv(this) {} | 41 m_DocEnv(this) {} |
| 41 | 42 |
| 42 CPDFXFA_Document::~CPDFXFA_Document() { | 43 CPDFXFA_Document::~CPDFXFA_Document() { |
| 43 m_nLoadStatus = FXFA_LOADSTATUS_CLOSING; | 44 m_nLoadStatus = FXFA_LOADSTATUS_CLOSING; |
| 44 | 45 |
| 46 if (m_pSDKDoc) { |
| 47 m_pSDKDoc->ClearAllFocusedAnnots(); |
| 48 m_pSDKDoc = nullptr; |
| 49 } |
| 50 |
| 45 if (m_pXFADoc) { | 51 if (m_pXFADoc) { |
| 46 CXFA_FFApp* pApp = m_pApp->GetXFAApp(); | 52 CXFA_FFApp* pApp = m_pApp->GetXFAApp(); |
| 47 if (pApp) { | 53 if (pApp) { |
| 48 CXFA_FFDocHandler* pDocHandler = pApp->GetDocHandler(); | 54 CXFA_FFDocHandler* pDocHandler = pApp->GetDocHandler(); |
| 49 if (pDocHandler) | 55 if (pDocHandler) |
| 50 CloseXFADoc(pDocHandler); | 56 CloseXFADoc(pDocHandler); |
| 51 } | 57 } |
| 52 m_pXFADoc.reset(); | 58 m_pXFADoc.reset(); |
| 53 } | 59 } |
| 54 | 60 |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 184 return; | 190 return; |
| 185 | 191 |
| 186 if (CPDFXFA_Page* pPage = m_XFAPageList.GetAt(page_index)) | 192 if (CPDFXFA_Page* pPage = m_XFAPageList.GetAt(page_index)) |
| 187 pPage->Release(); | 193 pPage->Release(); |
| 188 } | 194 } |
| 189 | 195 |
| 190 void CPDFXFA_Document::RemovePage(CPDFXFA_Page* page) { | 196 void CPDFXFA_Document::RemovePage(CPDFXFA_Page* page) { |
| 191 m_XFAPageList.SetAt(page->GetPageIndex(), nullptr); | 197 m_XFAPageList.SetAt(page->GetPageIndex(), nullptr); |
| 192 } | 198 } |
| 193 | 199 |
| 194 void CPDFXFA_Document::SetSDKDoc(std::unique_ptr<CPDFSDK_Document> pSDKDoc) { | |
| 195 m_pSDKDoc.reset(pSDKDoc.release()); | |
| 196 } | |
| 197 | |
| 198 void CPDFXFA_Document::ClearChangeMark() { | 200 void CPDFXFA_Document::ClearChangeMark() { |
| 199 if (m_pSDKDoc) | 201 if (m_pSDKDoc) |
| 200 m_pSDKDoc->ClearChangeMark(); | 202 m_pSDKDoc->ClearChangeMark(); |
| 201 } | 203 } |
| OLD | NEW |