OLD | NEW |
| (Empty) |
1 // Copyright 2014 PDFium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | |
6 | |
7 #include "xfa/fwl/basewidget/fwl_formproxyimp.h" | |
8 | |
9 #include "xfa/fwl/core/fwl_formimp.h" | |
10 #include "xfa/fwl/core/fwl_noteimp.h" | |
11 #include "xfa/fwl/core/fwl_widgetimp.h" | |
12 | |
13 CFWL_FormProxyImp::CFWL_FormProxyImp(const CFWL_WidgetImpProperties& properties, | |
14 IFWL_Widget* pOuter) | |
15 : CFWL_FormImp(properties, pOuter) {} | |
16 | |
17 CFWL_FormProxyImp::~CFWL_FormProxyImp() {} | |
18 | |
19 FWL_Error CFWL_FormProxyImp::GetClassName(CFX_WideString& wsClass) const { | |
20 wsClass = FWL_CLASS_FormProxy; | |
21 return FWL_Error::Succeeded; | |
22 } | |
23 | |
24 FWL_Type CFWL_FormProxyImp::GetClassID() const { | |
25 return FWL_Type::FormProxy; | |
26 } | |
27 | |
28 FX_BOOL CFWL_FormProxyImp::IsInstance(const CFX_WideStringC& wsClass) const { | |
29 if (wsClass == CFX_WideStringC(FWL_CLASS_FormProxy)) { | |
30 return TRUE; | |
31 } | |
32 return CFWL_FormImp::IsInstance(wsClass); | |
33 } | |
34 FWL_Error CFWL_FormProxyImp::Initialize() { | |
35 if (CFWL_WidgetImp::Initialize() != FWL_Error::Succeeded) | |
36 return FWL_Error::Indefinite; | |
37 m_pDelegate = new CFWL_FormProxyImpDelegate(this); | |
38 return FWL_Error::Succeeded; | |
39 } | |
40 FWL_Error CFWL_FormProxyImp::Finalize() { | |
41 delete m_pDelegate; | |
42 m_pDelegate = nullptr; | |
43 return CFWL_WidgetImp::Finalize(); | |
44 } | |
45 FWL_Error CFWL_FormProxyImp::Update() { | |
46 return FWL_Error::Succeeded; | |
47 } | |
48 FWL_Error CFWL_FormProxyImp::DrawWidget(CFX_Graphics* pGraphics, | |
49 const CFX_Matrix* pMatrix) { | |
50 return FWL_Error::Succeeded; | |
51 } | |
52 | |
53 CFWL_FormProxyImpDelegate::CFWL_FormProxyImpDelegate(CFWL_FormProxyImp* pOwner) | |
54 : m_pOwner(pOwner) {} | |
55 | |
56 void CFWL_FormProxyImpDelegate::OnProcessMessage(CFWL_Message* pMessage) { | |
57 IFWL_WidgetDelegate* pDelegate = m_pOwner->m_pOuter->SetDelegate(nullptr); | |
58 pDelegate->OnProcessMessage(pMessage); | |
59 } | |
OLD | NEW |