diff options
author | dsinclair <dsinclair@chromium.org> | 2016-10-20 06:44:03 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-10-20 06:44:03 -0700 |
commit | fb5055947efd78e0e7f8a2bfd5b754c63dbb6076 (patch) | |
tree | 10511c1cb9b341e901a7f619a2bf6c2a74bb7f89 /xfa/fwl/core/ifwl_formproxy.cpp | |
parent | dadea5f87d35f8a692b659dbff54cc8780d48ef8 (diff) | |
download | pdfium-fb5055947efd78e0e7f8a2bfd5b754c63dbb6076.tar.xz |
Merge the CFWL_*Imp classes into the IFWL_* classes.
This Cl merges the implementation classes up into the IFWL classes as the
intermediate classes were just acting as proxies.
Review-Url: https://chromiumcodereview.appspot.com/2432423002
Diffstat (limited to 'xfa/fwl/core/ifwl_formproxy.cpp')
-rw-r--r-- | xfa/fwl/core/ifwl_formproxy.cpp | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/xfa/fwl/core/ifwl_formproxy.cpp b/xfa/fwl/core/ifwl_formproxy.cpp new file mode 100644 index 0000000000..123db79f19 --- /dev/null +++ b/xfa/fwl/core/ifwl_formproxy.cpp @@ -0,0 +1,67 @@ +// 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_formproxy.h" + +#include "xfa/fwl/core/fwl_noteimp.h" + +// static +IFWL_FormProxy* IFWL_FormProxy::Create(CFWL_WidgetImpProperties& properties, + IFWL_Widget* pOuter) { + return new IFWL_FormProxy(properties, pOuter); +} + +IFWL_FormProxy::IFWL_FormProxy(const CFWL_WidgetImpProperties& properties, + IFWL_Widget* pOuter) + : IFWL_Form(properties, pOuter) {} + +IFWL_FormProxy::~IFWL_FormProxy() {} + +FWL_Error IFWL_FormProxy::GetClassName(CFX_WideString& wsClass) const { + wsClass = FWL_CLASS_FormProxy; + return FWL_Error::Succeeded; +} + +FWL_Type IFWL_FormProxy::GetClassID() const { + return FWL_Type::FormProxy; +} + +FX_BOOL IFWL_FormProxy::IsInstance(const CFX_WideStringC& wsClass) const { + if (wsClass == CFX_WideStringC(FWL_CLASS_FormProxy)) { + return TRUE; + } + return IFWL_Form::IsInstance(wsClass); +} + +FWL_Error IFWL_FormProxy::Initialize() { + if (IFWL_Widget::Initialize() != FWL_Error::Succeeded) + return FWL_Error::Indefinite; + m_pDelegate = new CFWL_FormProxyImpDelegate(this); + return FWL_Error::Succeeded; +} + +FWL_Error IFWL_FormProxy::Finalize() { + delete m_pDelegate; + m_pDelegate = nullptr; + return IFWL_Widget::Finalize(); +} + +FWL_Error IFWL_FormProxy::Update() { + return FWL_Error::Succeeded; +} + +FWL_Error IFWL_FormProxy::DrawWidget(CFX_Graphics* pGraphics, + const CFX_Matrix* pMatrix) { + return FWL_Error::Succeeded; +} + +CFWL_FormProxyImpDelegate::CFWL_FormProxyImpDelegate(IFWL_FormProxy* pOwner) + : m_pOwner(pOwner) {} + +void CFWL_FormProxyImpDelegate::OnProcessMessage(CFWL_Message* pMessage) { + IFWL_WidgetDelegate* pDelegate = m_pOwner->m_pOuter->SetDelegate(nullptr); + pDelegate->OnProcessMessage(pMessage); +} |