From 302c8ce0ee78ecb10398c9b1fa2796d116bbb4a5 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Tue, 1 May 2018 17:22:44 +0000 Subject: Introduce the concept of CPDF_Page::Extension Similar tp CPDF_Document::Extension, this is a base type for fpdfsdk/ to use to improve layering. While we're at it, make pages point to documents to prove they don't outlive them. Another small step towards not passing XFA objects across FPDF. Change-Id: Idcee9da3a18c06331fa56f3d6c188e4ce27d34f2 Reviewed-on: https://pdfium-review.googlesource.com/31631 Reviewed-by: dsinclair Commit-Queue: Tom Sepez --- fpdfsdk/fpdfxfa/cpdfxfa_page.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'fpdfsdk/fpdfxfa') diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_page.h b/fpdfsdk/fpdfxfa/cpdfxfa_page.h index 0a5e3fcc14..030b0684b6 100644 --- a/fpdfsdk/fpdfxfa/cpdfxfa_page.h +++ b/fpdfsdk/fpdfxfa/cpdfxfa_page.h @@ -9,24 +9,25 @@ #include +#include "core/fpdfapi/page/cpdf_page.h" #include "core/fxcrt/fx_coordinates.h" #include "core/fxcrt/fx_system.h" #include "core/fxcrt/retain_ptr.h" #include "core/fxcrt/unowned_ptr.h" #include "third_party/base/optional.h" -class CPDFXFA_Context; class CPDF_Dictionary; -class CPDF_Page; +class CPDFXFA_Context; class CXFA_FFPageView; -class CPDFXFA_Page : public Retainable { +class CPDFXFA_Page : public CPDF_Page::Extension { public: template friend RetainPtr pdfium::MakeRetain(Args&&... args); bool LoadPage(); bool LoadPDFPage(CPDF_Dictionary* pageDict); + CPDFXFA_Context* GetContext() const { return m_pContext.Get(); } int GetPageIndex() const { return m_iPageIndex; } CPDF_Page* GetPDFPage() const { return m_pPDFPage.get(); } -- cgit v1.2.3