From fb5055947efd78e0e7f8a2bfd5b754c63dbb6076 Mon Sep 17 00:00:00 2001 From: dsinclair Date: Thu, 20 Oct 2016 06:44:03 -0700 Subject: 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 --- xfa/fwl/core/ifwl_formproxy.cpp | 67 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 xfa/fwl/core/ifwl_formproxy.cpp (limited to 'xfa/fwl/core/ifwl_formproxy.cpp') 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); +} -- cgit v1.2.3