diff options
author | dsinclair <dsinclair@chromium.org> | 2016-10-18 16:48:16 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-10-18 16:48:16 -0700 |
commit | 4e903136cf0f02578c0e47c6738b633c96814b62 (patch) | |
tree | f6c85bfe408c728b9b2dbfcaf60316912945643d /xfa/fwl/core/ifwl_app.cpp | |
parent | f328d0d378b8df8a3416988d96c34f1d3f9d26d1 (diff) | |
download | pdfium-4e903136cf0f02578c0e47c6738b633c96814b62.tar.xz |
Merge IFWL_App and FWL_AppImp together
The IFWL_App class just acts as a proxy to the FWL_AppImp code. This Cl removes
FWL_AppImp and merges the code back up to IFWL_App, simplifying the
object hierarchy.
Review-Url: https://codereview.chromium.org/2430563003
Diffstat (limited to 'xfa/fwl/core/ifwl_app.cpp')
-rw-r--r-- | xfa/fwl/core/ifwl_app.cpp | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/xfa/fwl/core/ifwl_app.cpp b/xfa/fwl/core/ifwl_app.cpp new file mode 100644 index 0000000000..a47a76e4c0 --- /dev/null +++ b/xfa/fwl/core/ifwl_app.cpp @@ -0,0 +1,50 @@ +// 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/ifwl_app.h" + +#include "third_party/base/ptr_util.h" +#include "xfa/fwl/core/cfwl_widgetmgr.h" +#include "xfa/fwl/core/fwl_noteimp.h" +#include "xfa/fwl/core/ifwl_widget.h" +#include "xfa/fxfa/app/xfa_fwladapter.h" + +CXFA_FWLAdapterWidgetMgr* FWL_GetAdapterWidgetMgr() { + return CFWL_WidgetMgr::GetInstance()->GetAdapterWidgetMgr(); +} + +CXFA_FFApp* FWL_GetAdapterNative() { + IFWL_App* pApp = FWL_GetApp(); + if (!pApp) + return nullptr; + return pApp->GetAdapterNative(); +} + +static IFWL_App* g_theApp = nullptr; +IFWL_App* FWL_GetApp() { + return g_theApp; +} + +void FWL_SetApp(IFWL_App* pApp) { + g_theApp = pApp; +} + +IFWL_App::IFWL_App(CXFA_FFApp* pAdapter) + : m_pAdapterNative(pAdapter), + m_pWidgetMgr(pdfium::MakeUnique<CFWL_WidgetMgr>(pAdapter)), + m_pNoteDriver(pdfium::MakeUnique<CFWL_NoteDriver>()) {} + +IFWL_App::~IFWL_App() { + CFWL_ToolTipContainer::DeleteInstance(); +} + +CXFA_FFApp* IFWL_App::GetAdapterNative() { + return m_pAdapterNative; +} + +CFWL_WidgetMgr* IFWL_App::GetWidgetMgr() { + return m_pWidgetMgr.get(); +} |