1// Copyright 2016 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_CFWL_EVENT_H_
8#define XFA_FWL_CFWL_EVENT_H_
9
10#include "core/fxcrt/fx_coordinates.h"
11#include "core/fxcrt/fx_string.h"
12#include "core/fxcrt/fx_system.h"
13#include "xfa/fwl/cfwl_messagekey.h"
14#include "xfa/fwl/cfwl_messagemouse.h"
15
16class CXFA_Graphics;
17class CFWL_Widget;
18
19class CFWL_Event {
20 public:
21  enum class Type {
22    CheckStateChanged,
23    CheckWord,
24    Click,
25    Close,
26    EditChanged,
27    Mouse,
28    PostDropDown,
29    PreDropDown,
30    Scroll,
31    SelectChanged,
32    TextChanged,
33    TextFull,
34    Validate
35  };
36
37  explicit CFWL_Event(Type type);
38  CFWL_Event(Type type, CFWL_Widget* pSrcTarget);
39  CFWL_Event(Type type, CFWL_Widget* pSrcTarget, CFWL_Widget* pDstTarget);
40  virtual ~CFWL_Event();
41
42  Type GetType() const { return m_type; }
43
44  CFWL_Widget* m_pSrcTarget;
45  CFWL_Widget* m_pDstTarget;
46
47 private:
48  Type m_type;
49};
50
51#endif  // XFA_FWL_CFWL_EVENT_H_
52