OLD | NEW |
| (Empty) |
1 // Copyright 2014 PDFium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | |
6 | |
7 #ifndef XFA_SRC_FXFA_APP_XFA_FFAPP_H_ | |
8 #define XFA_SRC_FXFA_APP_XFA_FFAPP_H_ | |
9 | |
10 #include "core/include/fpdfapi/cpdf_stream.h" | |
11 #include "xfa/include/fwl/adapter/fwl_adapternative.h" | |
12 #include "xfa/include/fwl/adapter/fwl_sdadapterimp.h" | |
13 #include "xfa/include/fwl/core/fwl_app.h" | |
14 #include "xfa/include/fxfa/fxfa.h" | |
15 #include "xfa/src/fgas/font/fgas_font.h" | |
16 | |
17 class CXFA_FWLAdapterWidgetMgr; | |
18 class CXFA_FWLTheme; | |
19 class CXFA_FFDocHandler; | |
20 class CXFA_FFMenuHandler; | |
21 class CXFA_FontMgr; | |
22 | |
23 class CXFA_FileRead : public IFX_FileRead { | |
24 public: | |
25 explicit CXFA_FileRead(const CFX_ArrayTemplate<CPDF_Stream*>& streams); | |
26 | |
27 virtual FX_FILESIZE GetSize(); | |
28 virtual FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size); | |
29 | |
30 virtual void Release() { delete this; } | |
31 | |
32 protected: | |
33 CFX_ObjectArray<CPDF_StreamAcc> m_Data; | |
34 }; | |
35 | |
36 class CXFA_FFApp : public IXFA_App, public IFWL_AdapterNative { | |
37 public: | |
38 CXFA_FFApp(IXFA_AppProvider* pProvider); | |
39 ~CXFA_FFApp() override; | |
40 | |
41 // IFXFA_App: | |
42 IXFA_DocHandler* GetDocHandler() override; | |
43 IXFA_Doc* CreateDoc(IXFA_DocProvider* pProvider, | |
44 IFX_FileRead* pStream, | |
45 FX_BOOL bTakeOverFile) override; | |
46 IXFA_Doc* CreateDoc(IXFA_DocProvider* pProvider, | |
47 CPDF_Document* pPDFDoc) override; | |
48 IXFA_AppProvider* GetAppProvider() override { return m_pProvider; } | |
49 void SetDefaultFontMgr(IXFA_FontMgr* pFontMgr) override; | |
50 IXFA_MenuHandler* GetMenuHandler() override; | |
51 | |
52 // IFWL_AdapterNative: | |
53 IFWL_AdapterWidgetMgr* GetWidgetMgr( | |
54 IFWL_WidgetMgrDelegate* pDelegate) override; | |
55 IFWL_AdapterThreadMgr* GetThreadMgr() override; | |
56 IFWL_AdapterTimerMgr* GetTimerMgr() override; | |
57 | |
58 CXFA_FontMgr* GetXFAFontMgr(); | |
59 IFX_FontMgr* GetFDEFontMgr(); | |
60 CXFA_FWLTheme* GetFWLTheme(); | |
61 IFWL_WidgetMgrDelegate* GetWidgetMgrDelegate() { | |
62 return m_pWidgetMgrDelegate; | |
63 } | |
64 | |
65 protected: | |
66 CXFA_FFDocHandler* m_pDocHandler; | |
67 IFWL_App* m_pFWLApp; | |
68 CXFA_FWLTheme* m_pFWLTheme; | |
69 IXFA_AppProvider* m_pProvider; | |
70 CXFA_FontMgr* m_pFontMgr; | |
71 #if _FXM_PLATFORM_ != _FXM_PLATFORM_WINDOWS_ | |
72 IFX_FontSourceEnum* m_pFontSource; | |
73 #endif | |
74 CXFA_FWLAdapterWidgetMgr* m_pAdapterWidgetMgr; | |
75 IFWL_WidgetMgrDelegate* m_pWidgetMgrDelegate; | |
76 IFX_FontMgr* m_pFDEFontMgr; | |
77 CXFA_FFMenuHandler* m_pMenuHandler; | |
78 CFWL_SDAdapterThreadMgr* m_pAdapterThreadMgr; | |
79 }; | |
80 | |
81 #endif // XFA_SRC_FXFA_APP_XFA_FFAPP_H_ | |
OLD | NEW |