diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2016-03-14 14:14:16 -0400 |
---|---|---|
committer | Dan Sinclair <dsinclair@chromium.org> | 2016-03-14 14:14:16 -0400 |
commit | 1770c021cf998ff1b33855b1397f6ea8ff9f7cd7 (patch) | |
tree | 285e39abd4b5872d8cd632b9e331b0667fdc3eae /xfa/fwl/core/fwl_appimp.cpp | |
parent | f766ad219f66543654520f6a1955836f519e26d1 (diff) | |
download | pdfium-1770c021cf998ff1b33855b1397f6ea8ff9f7cd7.tar.xz |
Move xfa/src up to xfa/.
This CL moves the xfa/src files up to the xfa/ directory and fixes the includes,
include guards, and build files.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1803723002 .
Diffstat (limited to 'xfa/fwl/core/fwl_appimp.cpp')
-rw-r--r-- | xfa/fwl/core/fwl_appimp.cpp | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/xfa/fwl/core/fwl_appimp.cpp b/xfa/fwl/core/fwl_appimp.cpp new file mode 100644 index 0000000000..31634860f4 --- /dev/null +++ b/xfa/fwl/core/fwl_appimp.cpp @@ -0,0 +1,114 @@ +// 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 + +#include "xfa/fwl/core/fwl_appimp.h" + +#include "xfa/fwl/core/fwl_noteimp.h" +#include "xfa/fwl/core/fwl_targetimp.h" +#include "xfa/fwl/core/fwl_threadimp.h" +#include "xfa/fwl/core/fwl_widgetmgrimp.h" +#include "xfa/include/fwl/adapter/fwl_adapterwidgetmgr.h" +#include "xfa/include/fwl/core/fwl_app.h" +#include "xfa/include/fwl/core/fwl_widget.h" + +IFWL_App* IFWL_App::Create(IFWL_AdapterNative* pAdapter) { + IFWL_App* pApp = new IFWL_App; + pApp->SetImpl(new CFWL_AppImp(pApp, pAdapter)); + return pApp; +} +FWL_ERR IFWL_App::Initialize() { + return static_cast<CFWL_AppImp*>(GetImpl())->Initialize(); +} +FWL_ERR IFWL_App::Finalize() { + return static_cast<CFWL_AppImp*>(GetImpl())->Finalize(); +} +IFWL_AdapterNative* IFWL_App::GetAdapterNative() { + return static_cast<CFWL_AppImp*>(GetImpl())->GetAdapterNative(); +} +IFWL_WidgetMgr* IFWL_App::GetWidgetMgr() { + return static_cast<CFWL_AppImp*>(GetImpl())->GetWidgetMgr(); +} +IFWL_ThemeProvider* IFWL_App::GetThemeProvider() { + return static_cast<CFWL_AppImp*>(GetImpl())->GetThemeProvider(); +} +FWL_ERR IFWL_App::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) { + return static_cast<CFWL_AppImp*>(GetImpl())->SetThemeProvider(pThemeProvider); +} +FWL_ERR IFWL_App::Exit(int32_t iExitCode) { + return static_cast<CFWL_AppImp*>(GetImpl())->Exit(iExitCode); +} + +CFWL_AppImp::CFWL_AppImp(IFWL_App* pIface, IFWL_AdapterNative* pAdapter) + : CFWL_NoteThreadImp(pIface), + m_pAdapterNative(pAdapter), + m_pThemeProvider(nullptr) {} + +CFWL_AppImp::~CFWL_AppImp() { + CFWL_ToolTipContainer::DeleteInstance(); +} + +FWL_ERR CFWL_AppImp::Initialize() { + if (!m_pWidgetMgr) { + m_pWidgetMgr.reset(new CFWL_WidgetMgr(m_pAdapterNative)); + } + return FWL_ERR_Succeeded; +} +FWL_ERR CFWL_AppImp::Finalize() { + m_pWidgetMgr.reset(); + return FWL_ERR_Succeeded; +} +IFWL_AdapterNative* CFWL_AppImp::GetAdapterNative() const { + return m_pAdapterNative; +} +IFWL_AdapterWidgetMgr* FWL_GetAdapterWidgetMgr() { + return static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()) + ->GetAdapterWidgetMgr(); +} +IFWL_WidgetMgr* CFWL_AppImp::GetWidgetMgr() const { + return m_pWidgetMgr.get(); +} +FWL_ERR CFWL_AppImp::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) { + m_pThemeProvider = pThemeProvider; + return FWL_ERR_Succeeded; +} +FWL_ERR CFWL_AppImp::Exit(int32_t iExitCode) { + while (m_pNoteDriver->PopNoteLoop()) { + continue; + } + return m_pWidgetMgr->GetAdapterWidgetMgr()->Exit(0); +} +IFWL_ThemeProvider* CFWL_AppImp::GetThemeProvider() const { + return m_pThemeProvider; +} +IFWL_AdapterNative* FWL_GetAdapterNative() { + IFWL_App* pApp = FWL_GetApp(); + if (!pApp) + return NULL; + return pApp->GetAdapterNative(); +} +IFWL_ThemeProvider* FWL_GetThemeProvider() { + return NULL; +} +static IFWL_App* _theApp = NULL; +IFWL_App* FWL_GetApp() { + return _theApp; +} +void FWL_SetApp(IFWL_App* pApp) { + _theApp = pApp; +} +FWL_ERR FWL_SetFullScreen(IFWL_Widget* pWidget, FX_BOOL bFullScreen) { + if (!pWidget) + return FWL_ERR_Succeeded; + IFWL_NoteThread* pNoteTread = pWidget->GetOwnerThread(); + if (!pNoteTread) + return FWL_ERR_Succeeded; + CFWL_NoteDriver* pNoteDriver = + static_cast<CFWL_NoteDriver*>(pNoteTread->GetNoteDriver()); + if (!pNoteTread) + return FWL_ERR_Succeeded; + pNoteDriver->NotifyFullScreenMode(pWidget, bFullScreen); + return FWL_GetAdapterWidgetMgr()->SetFullScreen(pWidget, bFullScreen); +} |