From df4bc596c64fb848647c670be66a29ea0861b4f4 Mon Sep 17 00:00:00 2001 From: dsinclair Date: Thu, 31 Mar 2016 20:34:43 -0700 Subject: Remove IXFA_* interfaces. This CL removes the IXFA_* interfaces which are: - Implemented once. - Not implemented by an fpdfsdk class. This requires making a few classes visible to fpdfsdk so we can have the correct instances available instead of the IXFA types. Review URL: https://codereview.chromium.org/1846993002 --- xfa/include/fxfa/xfa_ffapp.h | 81 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 xfa/include/fxfa/xfa_ffapp.h (limited to 'xfa/include/fxfa/xfa_ffapp.h') diff --git a/xfa/include/fxfa/xfa_ffapp.h b/xfa/include/fxfa/xfa_ffapp.h new file mode 100644 index 0000000000..c3bae4874c --- /dev/null +++ b/xfa/include/fxfa/xfa_ffapp.h @@ -0,0 +1,81 @@ +// Copyright 2014 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef XFA_INCLUDE_FXFA_XFA_FFAPP_H_ +#define XFA_INCLUDE_FXFA_XFA_FFAPP_H_ + +#include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h" +#include "core/fpdfapi/fpdf_parser/include/cpdf_stream_acc.h" +#include "xfa/fgas/font/fgas_font.h" +#include "xfa/fwl/core/fwl_sdadapterimp.h" +#include "xfa/fwl/core/ifwl_adapternative.h" +#include "xfa/fwl/core/ifwl_app.h" +#include "xfa/include/fxfa/fxfa.h" + +class CXFA_DefFontMgr; +class CXFA_FWLAdapterWidgetMgr; +class CXFA_FWLTheme; +class CXFA_FFDocHandler; +class CXFA_FFMenuHandler; +class CXFA_FontMgr; + +class CXFA_FileRead : public IFX_FileRead { + public: + explicit CXFA_FileRead(const CFX_ArrayTemplate& streams); + + virtual FX_FILESIZE GetSize(); + virtual FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size); + + virtual void Release() { delete this; } + + protected: + CFX_ObjectArray m_Data; +}; + +class CXFA_FFApp : public IFWL_AdapterNative { + public: + CXFA_FFApp(IXFA_AppProvider* pProvider); + ~CXFA_FFApp() override; + + CXFA_FFDocHandler* GetDocHandler(); + CXFA_FFDoc* CreateDoc(IXFA_DocProvider* pProvider, + IFX_FileRead* pStream, + FX_BOOL bTakeOverFile); + CXFA_FFDoc* CreateDoc(IXFA_DocProvider* pProvider, CPDF_Document* pPDFDoc); + IXFA_AppProvider* GetAppProvider() { return m_pProvider; } + void SetDefaultFontMgr(CXFA_DefFontMgr* pFontMgr); + CXFA_FFMenuHandler* GetMenuHandler(); + + // IFWL_AdapterNative: + IFWL_AdapterWidgetMgr* GetWidgetMgr( + IFWL_WidgetMgrDelegate* pDelegate) override; + IFWL_AdapterThreadMgr* GetThreadMgr() override; + IFWL_AdapterTimerMgr* GetTimerMgr() override; + + CXFA_FontMgr* GetXFAFontMgr(); + IFX_FontMgr* GetFDEFontMgr(); + CXFA_FWLTheme* GetFWLTheme(); + IFWL_WidgetMgrDelegate* GetWidgetMgrDelegate() { + return m_pWidgetMgrDelegate; + } + + protected: + CXFA_FFDocHandler* m_pDocHandler; + IFWL_App* m_pFWLApp; + CXFA_FWLTheme* m_pFWLTheme; + IXFA_AppProvider* m_pProvider; + CXFA_FontMgr* m_pFontMgr; +#if _FXM_PLATFORM_ != _FXM_PLATFORM_WINDOWS_ + IFX_FontSourceEnum* m_pFontSource; +#endif + CXFA_FWLAdapterWidgetMgr* m_pAdapterWidgetMgr; + IFWL_WidgetMgrDelegate* m_pWidgetMgrDelegate; + IFX_FontMgr* m_pFDEFontMgr; + CXFA_FFMenuHandler* m_pMenuHandler; + CFWL_SDAdapterThreadMgr* m_pAdapterThreadMgr; +}; + +#endif // XFA_INCLUDE_FXFA_XFA_FFAPP_H_ -- cgit v1.2.3