summaryrefslogtreecommitdiff
path: root/xfa/fwl/core/ifwl_formproxy.cpp
blob: dee8973bc7da10fbdb04ea1f338672bf7510e7c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// 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 "third_party/base/ptr_util.h"
#include "xfa/fwl/core/fwl_noteimp.h"

IFWL_FormProxy::IFWL_FormProxy(const IFWL_App* app,
                               const CFWL_WidgetImpProperties& properties,
                               IFWL_Widget* pOuter)
    : IFWL_Form(app, properties, pOuter) {
  SetDelegate(pdfium::MakeUnique<CFWL_FormProxyImpDelegate>(this));
}

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::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) {
  m_pOwner->m_pOuter->GetCurrentDelegate()->OnProcessMessage(pMessage);
}