| 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 #ifndef FPDFSDK_FPDFXFA_INCLUDE_FPDFXFA_DOC_H_ | 7 #ifndef FPDFSDK_FPDFXFA_INCLUDE_FPDFXFA_DOC_H_ |
| 8 #define FPDFSDK_FPDFXFA_INCLUDE_FPDFXFA_DOC_H_ | 8 #define FPDFSDK_FPDFXFA_INCLUDE_FPDFXFA_DOC_H_ |
| 9 | 9 |
| 10 #include "xfa/fxfa/include/xfa_ffdoc.h" | 10 #include "xfa/fxfa/include/xfa_ffdoc.h" |
| 11 | 11 |
| 12 #include <memory> |
| 12 #include <vector> | 13 #include <vector> |
| 13 | 14 |
| 14 #include "public/fpdfview.h" | 15 #include "public/fpdfview.h" |
| 15 #include "xfa/fxfa/include/fxfa.h" | 16 #include "xfa/fxfa/include/fxfa.h" |
| 16 #include "xfa/fxfa/include/xfa_ffdochandler.h" | 17 #include "xfa/fxfa/include/xfa_ffdochandler.h" |
| 17 | 18 |
| 18 class CPDFXFA_App; | 19 class CPDFXFA_App; |
| 19 class CPDFXFA_Document; | 20 class CPDFXFA_Document; |
| 20 class CPDFXFA_Page; | 21 class CPDFXFA_Page; |
| 21 class CPDFSDK_Document; | 22 class CPDFSDK_Document; |
| 22 class CPDFDoc_Environment; | 23 class CPDFDoc_Environment; |
| 23 class IJS_Runtime; | 24 class IJS_Runtime; |
| 24 class IJS_Context; | 25 class IJS_Context; |
| 25 class CXFA_FFDocHandler; | 26 class CXFA_FFDocHandler; |
| 26 | 27 |
| 27 class CPDFXFA_Document : public IXFA_DocProvider { | 28 class CPDFXFA_Document : public IXFA_DocProvider { |
| 28 public: | 29 public: |
| 29 CPDFXFA_Document(CPDF_Document* pPDFDoc, CPDFXFA_App* pProvider); | 30 CPDFXFA_Document(CPDF_Document* pPDFDoc, CPDFXFA_App* pProvider); |
| 30 ~CPDFXFA_Document() override; | 31 ~CPDFXFA_Document() override; |
| 31 | 32 |
| 32 FX_BOOL LoadXFADoc(); | 33 FX_BOOL LoadXFADoc(); |
| 33 CPDFXFA_App* GetApp() { return m_pApp; } | 34 CPDFXFA_App* GetApp() { return m_pApp; } |
| 34 CPDF_Document* GetPDFDoc() { return m_pPDFDoc; } | 35 CPDF_Document* GetPDFDoc() { return m_pPDFDoc; } |
| 35 CXFA_FFDoc* GetXFADoc() { return m_pXFADoc; } | 36 CXFA_FFDoc* GetXFADoc() { return m_pXFADoc.get(); } |
| 36 CXFA_FFDocView* GetXFADocView() { return m_pXFADocView; } | 37 CXFA_FFDocView* GetXFADocView() { return m_pXFADocView; } |
| 37 | 38 |
| 38 int GetPageCount(); | 39 int GetPageCount(); |
| 39 CPDFXFA_Page* GetPage(int page_index); | 40 CPDFXFA_Page* GetPage(int page_index); |
| 40 CPDFXFA_Page* GetPage(CXFA_FFPageView* pPage); | 41 CPDFXFA_Page* GetPage(CXFA_FFPageView* pPage); |
| 41 | 42 |
| 42 void DeletePage(int page_index); | 43 void DeletePage(int page_index); |
| 43 void RemovePage(CPDFXFA_Page* page); | 44 void RemovePage(CPDFXFA_Page* page); |
| 44 int GetDocType() { return m_iDocType; } | 45 int GetDocType() { return m_iDocType; } |
| 45 | 46 |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 186 FXFA_LOADSTATUS_PRELOAD = 0, | 187 FXFA_LOADSTATUS_PRELOAD = 0, |
| 187 FXFA_LOADSTATUS_LOADING, | 188 FXFA_LOADSTATUS_LOADING, |
| 188 FXFA_LOADSTATUS_LOADED, | 189 FXFA_LOADSTATUS_LOADED, |
| 189 FXFA_LOADSTATUS_CLOSING, | 190 FXFA_LOADSTATUS_CLOSING, |
| 190 FXFA_LOADSTATUS_CLOSED | 191 FXFA_LOADSTATUS_CLOSED |
| 191 }; | 192 }; |
| 192 | 193 |
| 193 void CloseXFADoc(CXFA_FFDocHandler* pDoc) { | 194 void CloseXFADoc(CXFA_FFDocHandler* pDoc) { |
| 194 if (pDoc) { | 195 if (pDoc) { |
| 195 m_pXFADoc->CloseDoc(); | 196 m_pXFADoc->CloseDoc(); |
| 196 delete m_pXFADoc; | 197 m_pXFADoc.reset(); |
| 197 m_pXFADoc = nullptr; | |
| 198 m_pXFADocView = nullptr; | 198 m_pXFADocView = nullptr; |
| 199 } | 199 } |
| 200 } | 200 } |
| 201 | 201 |
| 202 int m_iDocType; | 202 int m_iDocType; |
| 203 CPDF_Document* m_pPDFDoc; | 203 CPDF_Document* m_pPDFDoc; |
| 204 CPDFSDK_Document* m_pSDKDoc; | 204 std::unique_ptr<CPDFSDK_Document> m_pSDKDoc; |
| 205 CXFA_FFDoc* m_pXFADoc; | 205 std::unique_ptr<CXFA_FFDoc> m_pXFADoc; |
| 206 CXFA_FFDocView* m_pXFADocView; | 206 CXFA_FFDocView* m_pXFADocView; // not owned. |
| 207 CPDFXFA_App* m_pApp; | 207 CPDFXFA_App* const m_pApp; |
| 208 IJS_Context* m_pJSContext; | 208 IJS_Context* m_pJSContext; |
| 209 CFX_ArrayTemplate<CPDFXFA_Page*> m_XFAPageList; | 209 CFX_ArrayTemplate<CPDFXFA_Page*> m_XFAPageList; |
| 210 LoadStatus m_nLoadStatus; | 210 LoadStatus m_nLoadStatus; |
| 211 int m_nPageCount; | 211 int m_nPageCount; |
| 212 }; | 212 }; |
| 213 | 213 |
| 214 #endif // FPDFSDK_FPDFXFA_INCLUDE_FPDFXFA_DOC_H_ | 214 #endif // FPDFSDK_FPDFXFA_INCLUDE_FPDFXFA_DOC_H_ |
| OLD | NEW |