blob: 9a00bf3e8ffd2a8cf1b0602e81825ad5c9b3b66b [file] [log] [blame]
// 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"
IFWL_FormProxy::IFWL_FormProxy(const CFWL_WidgetImpProperties& properties,
IFWL_Widget* pOuter)
: IFWL_Form(properties, pOuter) {}
IFWL_FormProxy::~IFWL_FormProxy() {}
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;
}
void IFWL_FormProxy::Finalize() {
delete m_pDelegate;
m_pDelegate = nullptr;
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);
}