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 "xfa/src/foxitlib.h" | 7 #include "xfa/src/foxitlib.h" |
8 #include "xfa/src/fwl/src/core/include/fwl_targetimp.h" | 8 #include "xfa/src/fwl/src/core/include/fwl_targetimp.h" |
9 #include "xfa/src/fwl/src/core/include/fwl_threadimp.h" | 9 #include "xfa/src/fwl/src/core/include/fwl_threadimp.h" |
10 #include "xfa/src/fwl/src/core/include/fwl_noteimp.h" | 10 #include "xfa/src/fwl/src/core/include/fwl_noteimp.h" |
(...skipping 21 matching lines...) Expand all Loading... |
32 return static_cast<CFWL_AppImp*>(GetImpl())->GetThemeProvider(); | 32 return static_cast<CFWL_AppImp*>(GetImpl())->GetThemeProvider(); |
33 } | 33 } |
34 FWL_ERR IFWL_App::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) { | 34 FWL_ERR IFWL_App::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) { |
35 return static_cast<CFWL_AppImp*>(GetImpl())->SetThemeProvider(pThemeProvider); | 35 return static_cast<CFWL_AppImp*>(GetImpl())->SetThemeProvider(pThemeProvider); |
36 } | 36 } |
37 FWL_ERR IFWL_App::Exit(int32_t iExitCode) { | 37 FWL_ERR IFWL_App::Exit(int32_t iExitCode) { |
38 return static_cast<CFWL_AppImp*>(GetImpl())->Exit(iExitCode); | 38 return static_cast<CFWL_AppImp*>(GetImpl())->Exit(iExitCode); |
39 } | 39 } |
40 | 40 |
41 CFWL_AppImp::CFWL_AppImp(IFWL_App* pIface, IFWL_AdapterNative* pAdapter) | 41 CFWL_AppImp::CFWL_AppImp(IFWL_App* pIface, IFWL_AdapterNative* pAdapter) |
42 : CFWL_NoteThreadImp(pIface), m_pWidgetMgr(NULL), m_pThemeProvider(NULL) { | 42 : CFWL_NoteThreadImp(pIface), |
43 if (!pAdapter) { | 43 m_pAdapterNative(pAdapter), |
44 pAdapter = FWL_CreateFuelAdapterNative(); | 44 m_pThemeProvider(nullptr) {} |
45 m_bFuelAdapter = TRUE; | 45 |
46 } else { | |
47 m_bFuelAdapter = FALSE; | |
48 } | |
49 m_pAdapterNative = pAdapter; | |
50 } | |
51 CFWL_AppImp::~CFWL_AppImp() { | 46 CFWL_AppImp::~CFWL_AppImp() { |
52 CFWL_ToolTipContainer::DeleteInstance(); | 47 CFWL_ToolTipContainer::DeleteInstance(); |
53 if (m_bFuelAdapter) { | |
54 FWL_ReleaseFuelAdapterNative(m_pAdapterNative); | |
55 m_pAdapterNative = NULL; | |
56 } | |
57 if (m_pWidgetMgr) { | |
58 delete m_pWidgetMgr; | |
59 m_pWidgetMgr = NULL; | |
60 } | |
61 } | 48 } |
| 49 |
62 FWL_ERR CFWL_AppImp::Initialize() { | 50 FWL_ERR CFWL_AppImp::Initialize() { |
63 if (!m_pWidgetMgr) { | 51 if (!m_pWidgetMgr) { |
64 m_pWidgetMgr = new CFWL_WidgetMgr(m_pAdapterNative); | 52 m_pWidgetMgr.reset(new CFWL_WidgetMgr(m_pAdapterNative)); |
65 } | 53 } |
66 return FWL_ERR_Succeeded; | 54 return FWL_ERR_Succeeded; |
67 } | 55 } |
68 FWL_ERR CFWL_AppImp::Finalize() { | 56 FWL_ERR CFWL_AppImp::Finalize() { |
69 delete m_pWidgetMgr; | 57 m_pWidgetMgr.reset(); |
70 m_pWidgetMgr = NULL; | |
71 return FWL_ERR_Succeeded; | 58 return FWL_ERR_Succeeded; |
72 } | 59 } |
73 IFWL_AdapterNative* CFWL_AppImp::GetAdapterNative() { | 60 IFWL_AdapterNative* CFWL_AppImp::GetAdapterNative() const { |
74 return m_pAdapterNative; | 61 return m_pAdapterNative; |
75 } | 62 } |
76 IFWL_AdapterWidgetMgr* FWL_GetAdapterWidgetMgr() { | 63 IFWL_AdapterWidgetMgr* FWL_GetAdapterWidgetMgr() { |
77 return static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()) | 64 return static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()) |
78 ->GetAdapterWidgetMgr(); | 65 ->GetAdapterWidgetMgr(); |
79 } | 66 } |
80 IFWL_WidgetMgr* CFWL_AppImp::GetWidgetMgr() { | 67 IFWL_WidgetMgr* CFWL_AppImp::GetWidgetMgr() const { |
81 return m_pWidgetMgr; | 68 return m_pWidgetMgr.get(); |
82 } | 69 } |
83 FWL_ERR CFWL_AppImp::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) { | 70 FWL_ERR CFWL_AppImp::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) { |
84 m_pThemeProvider = pThemeProvider; | 71 m_pThemeProvider = pThemeProvider; |
85 return FWL_ERR_Succeeded; | 72 return FWL_ERR_Succeeded; |
86 } | 73 } |
87 FWL_ERR CFWL_AppImp::Exit(int32_t iExitCode) { | 74 FWL_ERR CFWL_AppImp::Exit(int32_t iExitCode) { |
88 while (m_pNoteDriver->PopNoteLoop()) | 75 while (m_pNoteDriver->PopNoteLoop()) |
89 ; | 76 ; |
90 return m_pWidgetMgr->GetAdapterWidgetMgr()->Exit(0); | 77 return m_pWidgetMgr->GetAdapterWidgetMgr()->Exit(0); |
91 } | 78 } |
92 IFWL_ThemeProvider* CFWL_AppImp::GetThemeProvider() { | 79 IFWL_ThemeProvider* CFWL_AppImp::GetThemeProvider() const { |
93 return m_pThemeProvider; | 80 return m_pThemeProvider; |
94 } | 81 } |
95 IFWL_AdapterNative* FWL_GetAdapterNative() { | 82 IFWL_AdapterNative* FWL_GetAdapterNative() { |
96 IFWL_App* pApp = FWL_GetApp(); | 83 IFWL_App* pApp = FWL_GetApp(); |
97 if (!pApp) | 84 if (!pApp) |
98 return NULL; | 85 return NULL; |
99 return pApp->GetAdapterNative(); | 86 return pApp->GetAdapterNative(); |
100 } | 87 } |
101 IFWL_ThemeProvider* FWL_GetThemeProvider() { | 88 IFWL_ThemeProvider* FWL_GetThemeProvider() { |
102 return NULL; | 89 return NULL; |
(...skipping 11 matching lines...) Expand all Loading... |
114 IFWL_NoteThread* pNoteTread = pWidget->GetOwnerThread(); | 101 IFWL_NoteThread* pNoteTread = pWidget->GetOwnerThread(); |
115 if (!pNoteTread) | 102 if (!pNoteTread) |
116 return FWL_ERR_Succeeded; | 103 return FWL_ERR_Succeeded; |
117 CFWL_NoteDriver* pNoteDriver = | 104 CFWL_NoteDriver* pNoteDriver = |
118 static_cast<CFWL_NoteDriver*>(pNoteTread->GetNoteDriver()); | 105 static_cast<CFWL_NoteDriver*>(pNoteTread->GetNoteDriver()); |
119 if (!pNoteTread) | 106 if (!pNoteTread) |
120 return FWL_ERR_Succeeded; | 107 return FWL_ERR_Succeeded; |
121 pNoteDriver->NotifyFullScreenMode(pWidget, bFullScreen); | 108 pNoteDriver->NotifyFullScreenMode(pWidget, bFullScreen); |
122 return FWL_GetAdapterWidgetMgr()->SetFullScreen(pWidget, bFullScreen); | 109 return FWL_GetAdapterWidgetMgr()->SetFullScreen(pWidget, bFullScreen); |
123 } | 110 } |
OLD | NEW |