summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordsinclair <dsinclair@chromium.org>2016-11-16 18:15:02 -0800
committerCommit bot <commit-bot@chromium.org>2016-11-16 18:15:03 -0800
commit0baa5c719a44875789898e12c247b8c719c27815 (patch)
tree3b65e0076dedb6b526c9472fb246e0d78b6b846e
parent038a23f297963997d631d91fefdf97598585f3ba (diff)
downloadpdfium-0baa5c719a44875789898e12c247b8c719c27815.tar.xz
Split the common event classes out to files.
This CL splits the common event classes out to individual files instead of being created by the macro. The other classes will be split out in subsequent CLs. Review-Url: https://codereview.chromium.org/2507713003
-rw-r--r--BUILD.gn19
-rw-r--r--xfa/fwl/core/cfwl_event.cpp15
-rw-r--r--xfa/fwl/core/cfwl_event.h59
-rw-r--r--xfa/fwl/core/cfwl_evtclick.cpp15
-rw-r--r--xfa/fwl/core/cfwl_evtclick.h20
-rw-r--r--xfa/fwl/core/cfwl_evtclose.cpp15
-rw-r--r--xfa/fwl/core/cfwl_evtclose.h20
-rw-r--r--xfa/fwl/core/cfwl_evtkey.cpp15
-rw-r--r--xfa/fwl/core/cfwl_evtkey.h24
-rw-r--r--xfa/fwl/core/cfwl_evtkillfocus.cpp15
-rw-r--r--xfa/fwl/core/cfwl_evtkillfocus.h22
-rw-r--r--xfa/fwl/core/cfwl_evtmouse.cpp15
-rw-r--r--xfa/fwl/core/cfwl_evtmouse.h25
-rw-r--r--xfa/fwl/core/cfwl_evtmousewheel.cpp15
-rw-r--r--xfa/fwl/core/cfwl_evtmousewheel.h26
-rw-r--r--xfa/fwl/core/cfwl_evtscroll.cpp15
-rw-r--r--xfa/fwl/core/cfwl_evtscroll.h37
-rw-r--r--xfa/fwl/core/cfwl_evtsetfocus.cpp15
-rw-r--r--xfa/fwl/core/cfwl_evtsetfocus.h22
-rw-r--r--xfa/fwl/core/cfwl_evtsizechanged.cpp15
-rw-r--r--xfa/fwl/core/cfwl_evtsizechanged.h24
-rw-r--r--xfa/fwl/core/ifwl_form.cpp1
-rw-r--r--xfa/fwl/core/ifwl_pushbutton.cpp2
-rw-r--r--xfa/fwl/core/ifwl_scrollbar.h1
-rw-r--r--xfa/fwl/core/ifwl_widget.cpp6
-rw-r--r--xfa/fxfa/app/xfa_fffield.cpp1
26 files changed, 400 insertions, 59 deletions
diff --git a/BUILD.gn b/BUILD.gn
index 7b634a7e8a..d7cab2d3a3 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -1178,7 +1178,26 @@ if (pdf_enable_xfa) {
"xfa/fwl/core/cfwl_datetimepicker.h",
"xfa/fwl/core/cfwl_edit.cpp",
"xfa/fwl/core/cfwl_edit.h",
+ "xfa/fwl/core/cfwl_event.cpp",
"xfa/fwl/core/cfwl_event.h",
+ "xfa/fwl/core/cfwl_evtclick.cpp",
+ "xfa/fwl/core/cfwl_evtclick.h",
+ "xfa/fwl/core/cfwl_evtclose.cpp",
+ "xfa/fwl/core/cfwl_evtclose.h",
+ "xfa/fwl/core/cfwl_evtkey.cpp",
+ "xfa/fwl/core/cfwl_evtkey.h",
+ "xfa/fwl/core/cfwl_evtkillfocus.cpp",
+ "xfa/fwl/core/cfwl_evtkillfocus.h",
+ "xfa/fwl/core/cfwl_evtmouse.cpp",
+ "xfa/fwl/core/cfwl_evtmouse.h",
+ "xfa/fwl/core/cfwl_evtmousewheel.cpp",
+ "xfa/fwl/core/cfwl_evtmousewheel.h",
+ "xfa/fwl/core/cfwl_evtscroll.cpp",
+ "xfa/fwl/core/cfwl_evtscroll.h",
+ "xfa/fwl/core/cfwl_evtsetfocus.cpp",
+ "xfa/fwl/core/cfwl_evtsetfocus.h",
+ "xfa/fwl/core/cfwl_evtsizechanged.cpp",
+ "xfa/fwl/core/cfwl_evtsizechanged.h",
"xfa/fwl/core/cfwl_listbox.cpp",
"xfa/fwl/core/cfwl_listbox.h",
"xfa/fwl/core/cfwl_listitem.cpp",
diff --git a/xfa/fwl/core/cfwl_event.cpp b/xfa/fwl/core/cfwl_event.cpp
new file mode 100644
index 0000000000..06b734531f
--- /dev/null
+++ b/xfa/fwl/core/cfwl_event.cpp
@@ -0,0 +1,15 @@
+// Copyright 2016 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/cfwl_event.h"
+
+CFWL_Event::CFWL_Event() : m_pSrcTarget(nullptr), m_pDstTarget(nullptr) {}
+
+CFWL_Event::~CFWL_Event() {}
+
+CFWL_EventType CFWL_Event::GetClassID() const {
+ return CFWL_EventType::None;
+}
diff --git a/xfa/fwl/core/cfwl_event.h b/xfa/fwl/core/cfwl_event.h
index a20abaa2a2..d91aa47e35 100644
--- a/xfa/fwl/core/cfwl_event.h
+++ b/xfa/fwl/core/cfwl_event.h
@@ -14,19 +14,6 @@
#include "xfa/fwl/core/cfwl_msgmouse.h"
#include "xfa/fwl/core/fwl_error.h"
-enum class FWL_SCBCODE {
- None = 1,
- Min,
- Max,
- PageBackward,
- PageForward,
- StepBackward,
- StepForward,
- Pos,
- TrackPos,
- EndScroll,
-};
-
enum class CFWL_EventType {
None = 0,
@@ -82,15 +69,6 @@ class CFWL_Event {
IFWL_Widget* m_pDstTarget;
};
-inline CFWL_Event::CFWL_Event()
- : m_pSrcTarget(nullptr), m_pDstTarget(nullptr) {}
-
-inline CFWL_Event::~CFWL_Event() {}
-
-inline CFWL_EventType CFWL_Event::GetClassID() const {
- return CFWL_EventType::None;
-}
-
#define FWL_EVENT_DEF(classname, eventType, ...) \
class classname : public CFWL_Event { \
public: \
@@ -103,41 +81,4 @@ inline CFWL_EventType CFWL_Event::GetClassID() const {
inline classname::~classname() {} \
inline CFWL_EventType classname::GetClassID() const { return eventType; }
-FWL_EVENT_DEF(CFWL_EvtMouse, CFWL_EventType::Mouse, FX_FLOAT m_fx;
- FX_FLOAT m_fy;
- uint32_t m_dwFlags;
- FWL_MouseCommand m_dwCmd;)
-
-FWL_EVENT_DEF(CFWL_EvtMouseWheel, CFWL_EventType::MouseWheel, FX_FLOAT m_fx;
- FX_FLOAT m_fy;
- FX_FLOAT m_fDeltaX;
- FX_FLOAT m_fDeltaY;
- uint32_t m_dwFlags;)
-
-FWL_EVENT_DEF(CFWL_EvtKey, CFWL_EventType::Key, uint32_t m_dwKeyCode;
- uint32_t m_dwFlags;
- FWL_KeyCommand m_dwCmd;)
-
-FWL_EVENT_DEF(CFWL_EvtSetFocus,
- CFWL_EventType::SetFocus,
- IFWL_Widget* m_pSetFocus;)
-
-FWL_EVENT_DEF(CFWL_EvtKillFocus,
- CFWL_EventType::KillFocus,
- IFWL_Widget* m_pKillFocus;)
-
-FWL_EVENT_DEF(CFWL_EvtClick, CFWL_EventType::Click)
-
-FWL_EVENT_DEF(CFWL_EvtScroll, CFWL_EventType::Scroll, FWL_SCBCODE m_iScrollCode;
- FX_FLOAT m_fPos;
- bool* m_pRet;)
-
-FWL_EVENT_DEF(CFWL_EvtClose, CFWL_EventType::Close)
-
-FWL_EVENT_DEF(CFWL_EvtSizeChanged,
- CFWL_EventType::SizeChanged,
- IFWL_Widget* m_pWidget;
- CFX_RectF m_rtOld;
- CFX_RectF m_rtNew;)
-
#endif // XFA_FWL_CORE_CFWL_EVENT_H_
diff --git a/xfa/fwl/core/cfwl_evtclick.cpp b/xfa/fwl/core/cfwl_evtclick.cpp
new file mode 100644
index 0000000000..35ff6451f6
--- /dev/null
+++ b/xfa/fwl/core/cfwl_evtclick.cpp
@@ -0,0 +1,15 @@
+// Copyright 2016 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/cfwl_evtclick.h"
+
+CFWL_EvtClick::CFWL_EvtClick() {}
+
+CFWL_EvtClick::~CFWL_EvtClick() {}
+
+CFWL_EventType CFWL_EvtClick::GetClassID() const {
+ return CFWL_EventType::Click;
+}
diff --git a/xfa/fwl/core/cfwl_evtclick.h b/xfa/fwl/core/cfwl_evtclick.h
new file mode 100644
index 0000000000..280004a6e9
--- /dev/null
+++ b/xfa/fwl/core/cfwl_evtclick.h
@@ -0,0 +1,20 @@
+// Copyright 2016 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
+
+#ifndef XFA_FWL_CORE_CFWL_EVTCLICK_H_
+#define XFA_FWL_CORE_CFWL_EVTCLICK_H_
+
+#include "xfa/fwl/core/cfwl_event.h"
+
+class CFWL_EvtClick : public CFWL_Event {
+ public:
+ CFWL_EvtClick();
+ ~CFWL_EvtClick() override;
+
+ CFWL_EventType GetClassID() const override;
+};
+
+#endif // XFA_FWL_CORE_CFWL_EVTCLICK_H_
diff --git a/xfa/fwl/core/cfwl_evtclose.cpp b/xfa/fwl/core/cfwl_evtclose.cpp
new file mode 100644
index 0000000000..72713a17d1
--- /dev/null
+++ b/xfa/fwl/core/cfwl_evtclose.cpp
@@ -0,0 +1,15 @@
+// Copyright 2016 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/cfwl_evtclose.h"
+
+CFWL_EvtClose::CFWL_EvtClose() {}
+
+CFWL_EvtClose::~CFWL_EvtClose() {}
+
+CFWL_EventType CFWL_EvtClose::GetClassID() const {
+ return CFWL_EventType::Close;
+}
diff --git a/xfa/fwl/core/cfwl_evtclose.h b/xfa/fwl/core/cfwl_evtclose.h
new file mode 100644
index 0000000000..5847a39fdf
--- /dev/null
+++ b/xfa/fwl/core/cfwl_evtclose.h
@@ -0,0 +1,20 @@
+// Copyright 2016 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
+
+#ifndef XFA_FWL_CORE_CFWL_EVTCLOSE_H_
+#define XFA_FWL_CORE_CFWL_EVTCLOSE_H_
+
+#include "xfa/fwl/core/cfwl_event.h"
+
+class CFWL_EvtClose : public CFWL_Event {
+ public:
+ CFWL_EvtClose();
+ ~CFWL_EvtClose() override;
+
+ CFWL_EventType GetClassID() const override;
+};
+
+#endif // XFA_FWL_CORE_CFWL_EVTCLOSE_H_
diff --git a/xfa/fwl/core/cfwl_evtkey.cpp b/xfa/fwl/core/cfwl_evtkey.cpp
new file mode 100644
index 0000000000..492c42fc98
--- /dev/null
+++ b/xfa/fwl/core/cfwl_evtkey.cpp
@@ -0,0 +1,15 @@
+// Copyright 2016 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/cfwl_evtkey.h"
+
+CFWL_EvtKey::CFWL_EvtKey() {}
+
+CFWL_EvtKey::~CFWL_EvtKey() {}
+
+CFWL_EventType CFWL_EvtKey::GetClassID() const {
+ return CFWL_EventType::Key;
+}
diff --git a/xfa/fwl/core/cfwl_evtkey.h b/xfa/fwl/core/cfwl_evtkey.h
new file mode 100644
index 0000000000..634456260a
--- /dev/null
+++ b/xfa/fwl/core/cfwl_evtkey.h
@@ -0,0 +1,24 @@
+// Copyright 2016 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
+
+#ifndef XFA_FWL_CORE_CFWL_EVTKEY_H_
+#define XFA_FWL_CORE_CFWL_EVTKEY_H_
+
+#include "xfa/fwl/core/cfwl_event.h"
+
+class CFWL_EvtKey : public CFWL_Event {
+ public:
+ CFWL_EvtKey();
+ ~CFWL_EvtKey() override;
+
+ CFWL_EventType GetClassID() const override;
+
+ uint32_t m_dwKeyCode;
+ uint32_t m_dwFlags;
+ FWL_KeyCommand m_dwCmd;
+};
+
+#endif // XFA_FWL_CORE_CFWL_EVTKEY_H_
diff --git a/xfa/fwl/core/cfwl_evtkillfocus.cpp b/xfa/fwl/core/cfwl_evtkillfocus.cpp
new file mode 100644
index 0000000000..ad6f40bcc3
--- /dev/null
+++ b/xfa/fwl/core/cfwl_evtkillfocus.cpp
@@ -0,0 +1,15 @@
+// Copyright 2016 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/cfwl_evtkillfocus.h"
+
+CFWL_EvtKillFocus::CFWL_EvtKillFocus() {}
+
+CFWL_EvtKillFocus::~CFWL_EvtKillFocus() {}
+
+CFWL_EventType CFWL_EvtKillFocus::GetClassID() const {
+ return CFWL_EventType::KillFocus;
+}
diff --git a/xfa/fwl/core/cfwl_evtkillfocus.h b/xfa/fwl/core/cfwl_evtkillfocus.h
new file mode 100644
index 0000000000..5a9d292af8
--- /dev/null
+++ b/xfa/fwl/core/cfwl_evtkillfocus.h
@@ -0,0 +1,22 @@
+// Copyright 2016 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
+
+#ifndef XFA_FWL_CORE_CFWL_EVTKILLFOCUS_H_
+#define XFA_FWL_CORE_CFWL_EVTKILLFOCUS_H_
+
+#include "xfa/fwl/core/cfwl_event.h"
+
+class CFWL_EvtKillFocus : public CFWL_Event {
+ public:
+ CFWL_EvtKillFocus();
+ ~CFWL_EvtKillFocus() override;
+
+ CFWL_EventType GetClassID() const override;
+
+ IFWL_Widget* m_pKillFocus;
+};
+
+#endif // XFA_FWL_CORE_CFWL_EVTKILLFOCUS_H_
diff --git a/xfa/fwl/core/cfwl_evtmouse.cpp b/xfa/fwl/core/cfwl_evtmouse.cpp
new file mode 100644
index 0000000000..c85172b738
--- /dev/null
+++ b/xfa/fwl/core/cfwl_evtmouse.cpp
@@ -0,0 +1,15 @@
+// Copyright 2016 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/cfwl_evtmouse.h"
+
+CFWL_EvtMouse::CFWL_EvtMouse() {}
+
+CFWL_EvtMouse::~CFWL_EvtMouse() {}
+
+CFWL_EventType CFWL_EvtMouse::GetClassID() const {
+ return CFWL_EventType::Mouse;
+}
diff --git a/xfa/fwl/core/cfwl_evtmouse.h b/xfa/fwl/core/cfwl_evtmouse.h
new file mode 100644
index 0000000000..386301ea5e
--- /dev/null
+++ b/xfa/fwl/core/cfwl_evtmouse.h
@@ -0,0 +1,25 @@
+// Copyright 2016 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
+
+#ifndef XFA_FWL_CORE_CFWL_EVTMOUSE_H_
+#define XFA_FWL_CORE_CFWL_EVTMOUSE_H_
+
+#include "xfa/fwl/core/cfwl_event.h"
+
+class CFWL_EvtMouse : public CFWL_Event {
+ public:
+ CFWL_EvtMouse();
+ ~CFWL_EvtMouse() override;
+
+ CFWL_EventType GetClassID() const override;
+
+ FX_FLOAT m_fx;
+ FX_FLOAT m_fy;
+ uint32_t m_dwFlags;
+ FWL_MouseCommand m_dwCmd;
+};
+
+#endif // XFA_FWL_CORE_CFWL_EVTMOUSE_H_
diff --git a/xfa/fwl/core/cfwl_evtmousewheel.cpp b/xfa/fwl/core/cfwl_evtmousewheel.cpp
new file mode 100644
index 0000000000..215947c0ea
--- /dev/null
+++ b/xfa/fwl/core/cfwl_evtmousewheel.cpp
@@ -0,0 +1,15 @@
+// Copyright 2016 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/cfwl_evtmousewheel.h"
+
+CFWL_EvtMouseWheel::CFWL_EvtMouseWheel() {}
+
+CFWL_EvtMouseWheel::~CFWL_EvtMouseWheel() {}
+
+CFWL_EventType CFWL_EvtMouseWheel::GetClassID() const {
+ return CFWL_EventType::MouseWheel;
+}
diff --git a/xfa/fwl/core/cfwl_evtmousewheel.h b/xfa/fwl/core/cfwl_evtmousewheel.h
new file mode 100644
index 0000000000..09e73ca42e
--- /dev/null
+++ b/xfa/fwl/core/cfwl_evtmousewheel.h
@@ -0,0 +1,26 @@
+// Copyright 2016 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
+
+#ifndef XFA_FWL_CORE_CFWL_EVTMOUSEWHEEL_H_
+#define XFA_FWL_CORE_CFWL_EVTMOUSEWHEEL_H_
+
+#include "xfa/fwl/core/cfwl_event.h"
+
+class CFWL_EvtMouseWheel : public CFWL_Event {
+ public:
+ CFWL_EvtMouseWheel();
+ ~CFWL_EvtMouseWheel() override;
+
+ CFWL_EventType GetClassID() const override;
+
+ FX_FLOAT m_fx;
+ FX_FLOAT m_fy;
+ FX_FLOAT m_fDeltaX;
+ FX_FLOAT m_fDeltaY;
+ uint32_t m_dwFlags;
+};
+
+#endif // XFA_FWL_CORE_CFWL_EVTMOUSEWHEEL_H_
diff --git a/xfa/fwl/core/cfwl_evtscroll.cpp b/xfa/fwl/core/cfwl_evtscroll.cpp
new file mode 100644
index 0000000000..37e561017e
--- /dev/null
+++ b/xfa/fwl/core/cfwl_evtscroll.cpp
@@ -0,0 +1,15 @@
+// Copyright 2016 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/cfwl_evtscroll.h"
+
+CFWL_EvtScroll::CFWL_EvtScroll() {}
+
+CFWL_EvtScroll::~CFWL_EvtScroll() {}
+
+CFWL_EventType CFWL_EvtScroll::GetClassID() const {
+ return CFWL_EventType::Scroll;
+}
diff --git a/xfa/fwl/core/cfwl_evtscroll.h b/xfa/fwl/core/cfwl_evtscroll.h
new file mode 100644
index 0000000000..d8da34e86d
--- /dev/null
+++ b/xfa/fwl/core/cfwl_evtscroll.h
@@ -0,0 +1,37 @@
+// Copyright 2016 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
+
+#ifndef XFA_FWL_CORE_CFWL_EVTSCROLL_H_
+#define XFA_FWL_CORE_CFWL_EVTSCROLL_H_
+
+#include "xfa/fwl/core/cfwl_event.h"
+
+enum class FWL_SCBCODE {
+ None = 1,
+ Min,
+ Max,
+ PageBackward,
+ PageForward,
+ StepBackward,
+ StepForward,
+ Pos,
+ TrackPos,
+ EndScroll,
+};
+
+class CFWL_EvtScroll : public CFWL_Event {
+ public:
+ CFWL_EvtScroll();
+ ~CFWL_EvtScroll() override;
+
+ CFWL_EventType GetClassID() const override;
+
+ FWL_SCBCODE m_iScrollCode;
+ FX_FLOAT m_fPos;
+ bool* m_pRet;
+};
+
+#endif // XFA_FWL_CORE_CFWL_EVTSCROLL_H_
diff --git a/xfa/fwl/core/cfwl_evtsetfocus.cpp b/xfa/fwl/core/cfwl_evtsetfocus.cpp
new file mode 100644
index 0000000000..def4c82726
--- /dev/null
+++ b/xfa/fwl/core/cfwl_evtsetfocus.cpp
@@ -0,0 +1,15 @@
+// Copyright 2016 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/cfwl_evtsetfocus.h"
+
+CFWL_EvtSetFocus::CFWL_EvtSetFocus() {}
+
+CFWL_EvtSetFocus::~CFWL_EvtSetFocus() {}
+
+CFWL_EventType CFWL_EvtSetFocus::GetClassID() const {
+ return CFWL_EventType::SetFocus;
+}
diff --git a/xfa/fwl/core/cfwl_evtsetfocus.h b/xfa/fwl/core/cfwl_evtsetfocus.h
new file mode 100644
index 0000000000..b1ff43d6e3
--- /dev/null
+++ b/xfa/fwl/core/cfwl_evtsetfocus.h
@@ -0,0 +1,22 @@
+// Copyright 2016 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
+
+#ifndef XFA_FWL_CORE_CFWL_EVTSETFOCUS_H_
+#define XFA_FWL_CORE_CFWL_EVTSETFOCUS_H_
+
+#include "xfa/fwl/core/cfwl_event.h"
+
+class CFWL_EvtSetFocus : public CFWL_Event {
+ public:
+ CFWL_EvtSetFocus();
+ ~CFWL_EvtSetFocus() override;
+
+ CFWL_EventType GetClassID() const override;
+
+ IFWL_Widget* m_pSetFocus;
+};
+
+#endif // XFA_FWL_CORE_CFWL_EVTSETFOCUS_H_
diff --git a/xfa/fwl/core/cfwl_evtsizechanged.cpp b/xfa/fwl/core/cfwl_evtsizechanged.cpp
new file mode 100644
index 0000000000..efccde3f48
--- /dev/null
+++ b/xfa/fwl/core/cfwl_evtsizechanged.cpp
@@ -0,0 +1,15 @@
+// Copyright 2016 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/cfwl_evtsizechanged.h"
+
+CFWL_EvtSizeChanged::CFWL_EvtSizeChanged() {}
+
+CFWL_EvtSizeChanged::~CFWL_EvtSizeChanged() {}
+
+CFWL_EventType CFWL_EvtSizeChanged::GetClassID() const {
+ return CFWL_EventType::SizeChanged;
+}
diff --git a/xfa/fwl/core/cfwl_evtsizechanged.h b/xfa/fwl/core/cfwl_evtsizechanged.h
new file mode 100644
index 0000000000..fe2dc6f5e5
--- /dev/null
+++ b/xfa/fwl/core/cfwl_evtsizechanged.h
@@ -0,0 +1,24 @@
+// Copyright 2016 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
+
+#ifndef XFA_FWL_CORE_CFWL_EVTSIZECHANGED_H_
+#define XFA_FWL_CORE_CFWL_EVTSIZECHANGED_H_
+
+#include "xfa/fwl/core/cfwl_event.h"
+
+class CFWL_EvtSizeChanged : public CFWL_Event {
+ public:
+ CFWL_EvtSizeChanged();
+ ~CFWL_EvtSizeChanged() override;
+
+ CFWL_EventType GetClassID() const override;
+
+ IFWL_Widget* m_pWidget;
+ CFX_RectF m_rtOld;
+ CFX_RectF m_rtNew;
+};
+
+#endif // XFA_FWL_CORE_CFWL_EVTSIZECHANGED_H_
diff --git a/xfa/fwl/core/ifwl_form.cpp b/xfa/fwl/core/ifwl_form.cpp
index 616ec770a2..a91e597cf7 100644
--- a/xfa/fwl/core/ifwl_form.cpp
+++ b/xfa/fwl/core/ifwl_form.cpp
@@ -8,6 +8,7 @@
#include "third_party/base/ptr_util.h"
#include "xfa/fde/tto/fde_textout.h"
+#include "xfa/fwl/core/cfwl_evtclose.h"
#include "xfa/fwl/core/cfwl_msgmouse.h"
#include "xfa/fwl/core/cfwl_themebackground.h"
#include "xfa/fwl/core/cfwl_themepart.h"
diff --git a/xfa/fwl/core/ifwl_pushbutton.cpp b/xfa/fwl/core/ifwl_pushbutton.cpp
index 414c144c42..63169fe97e 100644
--- a/xfa/fwl/core/ifwl_pushbutton.cpp
+++ b/xfa/fwl/core/ifwl_pushbutton.cpp
@@ -8,6 +8,8 @@
#include "third_party/base/ptr_util.h"
#include "xfa/fde/tto/fde_textout.h"
+#include "xfa/fwl/core/cfwl_evtclick.h"
+#include "xfa/fwl/core/cfwl_evtmouse.h"
#include "xfa/fwl/core/cfwl_msgkey.h"
#include "xfa/fwl/core/cfwl_msgmouse.h"
#include "xfa/fwl/core/cfwl_themebackground.h"
diff --git a/xfa/fwl/core/ifwl_scrollbar.h b/xfa/fwl/core/ifwl_scrollbar.h
index c2d74b2c3b..19e5c88d96 100644
--- a/xfa/fwl/core/ifwl_scrollbar.h
+++ b/xfa/fwl/core/ifwl_scrollbar.h
@@ -8,6 +8,7 @@
#define XFA_FWL_CORE_IFWL_SCROLLBAR_H_
#include "core/fxcrt/fx_system.h"
+#include "xfa/fwl/core/cfwl_evtscroll.h"
#include "xfa/fwl/core/cfwl_widgetproperties.h"
#include "xfa/fwl/core/ifwl_dataprovider.h"
#include "xfa/fwl/core/ifwl_timer.h"
diff --git a/xfa/fwl/core/ifwl_widget.cpp b/xfa/fwl/core/ifwl_widget.cpp
index 454f4833fd..8bb148247e 100644
--- a/xfa/fwl/core/ifwl_widget.cpp
+++ b/xfa/fwl/core/ifwl_widget.cpp
@@ -9,6 +9,12 @@
#include <algorithm>
#include "xfa/fde/tto/fde_textout.h"
+#include "xfa/fwl/core/cfwl_evtkey.h"
+#include "xfa/fwl/core/cfwl_evtkillfocus.h"
+#include "xfa/fwl/core/cfwl_evtmouse.h"
+#include "xfa/fwl/core/cfwl_evtmousewheel.h"
+#include "xfa/fwl/core/cfwl_evtsetfocus.h"
+#include "xfa/fwl/core/cfwl_evtsizechanged.h"
#include "xfa/fwl/core/cfwl_msgkey.h"
#include "xfa/fwl/core/cfwl_msgkillfocus.h"
#include "xfa/fwl/core/cfwl_msgmouse.h"
diff --git a/xfa/fxfa/app/xfa_fffield.cpp b/xfa/fxfa/app/xfa_fffield.cpp
index 83a4c62a16..ac9317ec0a 100644
--- a/xfa/fxfa/app/xfa_fffield.cpp
+++ b/xfa/fxfa/app/xfa_fffield.cpp
@@ -7,6 +7,7 @@
#include "xfa/fxfa/app/xfa_fffield.h"
#include "xfa/fwl/core/cfwl_edit.h"
+#include "xfa/fwl/core/cfwl_evtmouse.h"
#include "xfa/fwl/core/cfwl_msgkey.h"
#include "xfa/fwl/core/cfwl_msgkillfocus.h"
#include "xfa/fwl/core/cfwl_msgmouse.h"