Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(286)

Side by Side Diff: xfa/fwl/core/ifwl_target.h

Issue 1921853006: More FWL interface cleanup. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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 #ifndef XFA_FWL_CORE_IFWL_TARGET_H_
8 #define XFA_FWL_CORE_IFWL_TARGET_H_
9
10 #include "core/fxcrt/include/fx_basic.h"
11 #include "xfa/fwl/core/fwl_error.h"
12
13 // FWL contains three parallel inheritance hierarchies, which reference each
14 // other via pointers as follows:
15 //
16 // m_pImpl
17 // (nonesuch) IFWL_Target ----------> CFWL_TargetImp
18 // | |
19 // A A
20 // m_pIface | |
21 // CFWL_Widget ----------> IFWL_Widget CFWL_WidgetImp
22 // | | |
23 // A A A
24 // | | |
25 // CFWL_... IFWL_... CFWL_...Imp
26 //
27
28 class CFWL_TargetImp;
29
30 class IFWL_Target {
31 public:
32 IFWL_Target() : m_pImpl(nullptr) {}
33 virtual ~IFWL_Target();
34
35 // These call into equivalent polymorphic methods of m_pImpl. There
36 // should be no need to override these in subclasses.
37 FWL_ERR GetClassName(CFX_WideString& wsClass) const;
38 uint32_t GetClassID() const;
39 FX_BOOL IsInstance(const CFX_WideStringC& wsClass) const;
40 FWL_ERR Initialize();
41 FWL_ERR Finalize();
42
43 CFWL_TargetImp* GetImpl() const { return m_pImpl; }
44
45 protected:
46 void SetImpl(CFWL_TargetImp* pImpl) { m_pImpl = pImpl; }
47
48 private:
49 CFWL_TargetImp* m_pImpl;
50 };
51
52 #endif // XFA_FWL_CORE_IFWL_TARGET_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698