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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
// 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_EVENT_H_
#define XFA_FWL_CORE_CFWL_EVENT_H_
#include "core/fxcrt/include/fx_coordinates.h"
#include "core/fxcrt/include/fx_string.h"
#include "core/fxcrt/include/fx_system.h"
#include "xfa/fwl/core/cfwl_note.h"
#include "xfa/fwl/core/fwl_error.h"
// TODO(dsinclair): Event hash is hash of string, cleanup. pdfium:474
#define FWL_EVTHASH_Mouse 1765258002
#define FWL_EVTHASH_MouseWheel 3907114407
#define FWL_EVTHASH_Key 2408354450
#define FWL_EVTHASH_SetFocus 3909721269
#define FWL_EVTHASH_KillFocus 1779363253
#define FWL_EVTHASH_Draw 2430713303
#define FWL_EVTHASH_Click 4026328783
#define FWL_EVTHASH_Scroll 2965158968
#define FWL_EVTHASH_Close 4036693599
#define FWL_EVTHASH_ContextMenu 2717307715
#define FWL_EVTHASH_MenuCommand 497763741
#define FWL_EVTHASH_SizeChanged 3083958510
#define FWL_EVTHASH_Idle 839546759
typedef enum {
FWL_EVENT_MOUSE_MASK = 1 << 0,
FWL_EVENT_MOUSEWHEEL_MASK = 1 << 1,
FWL_EVENT_KEY_MASK = 1 << 2,
FWL_EVENT_FOCUSCHANGED_MASK = 1 << 3,
FWL_EVENT_DRAW_MASK = 1 << 4,
FWL_EVENT_CLOSE_MASK = 1 << 5,
FWL_EVENT_SIZECHANGED_MASK = 1 << 6,
FWL_EVENT_IDLE_MASK = 1 << 7,
FWL_EVENT_CONTROL_MASK = 1 << 8,
FWL_EVENT_ALL_MASK = 0xFF
} FWLEventMask;
class CFX_Graphics;
class IFWL_Widget;
class CFWL_Event : public CFWL_Note {
public:
CFWL_Event() : CFWL_Note(TRUE) {}
virtual ~CFWL_Event() {}
};
#define BEGIN_FWL_EVENT_DEF(classname, eventhashcode) \
class classname : public CFWL_Event { \
public: \
classname() : CFWL_Event() {} \
virtual FWL_ERR GetClassName(CFX_WideString& wsClass) const { \
wsClass = L## #classname; \
return FWL_ERR_Succeeded; \
} \
virtual uint32_t GetClassID() const { return eventhashcode; }
#define END_FWL_EVENT_DEF \
} \
; // NOLINT
BEGIN_FWL_EVENT_DEF(CFWL_EvtMouse, FWL_EVTHASH_Mouse)
FX_FLOAT m_fx;
FX_FLOAT m_fy;
uint32_t m_dwFlags;
uint32_t m_dwCmd;
END_FWL_EVENT_DEF
BEGIN_FWL_EVENT_DEF(CFWL_EvtMouseWheel, FWL_EVTHASH_MouseWheel)
FX_FLOAT m_fx;
FX_FLOAT m_fy;
FX_FLOAT m_fDeltaX;
FX_FLOAT m_fDeltaY;
uint32_t m_dwFlags;
END_FWL_EVENT_DEF
BEGIN_FWL_EVENT_DEF(CFWL_EvtKey, FWL_EVTHASH_Key)
uint32_t m_dwKeyCode;
uint32_t m_dwFlags;
uint32_t m_dwCmd;
END_FWL_EVENT_DEF
BEGIN_FWL_EVENT_DEF(CFWL_EvtSetFocus, FWL_EVTHASH_SetFocus)
IFWL_Widget* m_pSetFocus;
END_FWL_EVENT_DEF
BEGIN_FWL_EVENT_DEF(CFWL_EvtKillFocus, FWL_EVTHASH_KillFocus)
IFWL_Widget* m_pKillFocus;
END_FWL_EVENT_DEF
BEGIN_FWL_EVENT_DEF(CFWL_EvtDraw, FWL_EVTHASH_Draw)
CFX_Graphics* m_pGraphics;
IFWL_Widget* m_pWidget;
END_FWL_EVENT_DEF
BEGIN_FWL_EVENT_DEF(CFWL_EvtClick, FWL_EVTHASH_Click)
END_FWL_EVENT_DEF
BEGIN_FWL_EVENT_DEF(CFWL_EvtScroll, FWL_EVTHASH_Scroll)
uint32_t m_iScrollCode;
FX_FLOAT m_fPos;
FX_BOOL* m_pRet;
END_FWL_EVENT_DEF
BEGIN_FWL_EVENT_DEF(CFWL_EvtClose, FWL_EVTHASH_Close)
END_FWL_EVENT_DEF
BEGIN_FWL_EVENT_DEF(CFWL_EvtContextMenu, FWL_EVTHASH_ContextMenu)
FX_FLOAT m_fPosX;
FX_FLOAT m_fPosY;
IFWL_Widget* m_pOwner;
END_FWL_EVENT_DEF
BEGIN_FWL_EVENT_DEF(CFWL_EvtMenuCommand, FWL_EVTHASH_MenuCommand)
int32_t m_iCommand;
void* m_pData;
END_FWL_EVENT_DEF
BEGIN_FWL_EVENT_DEF(CFWL_EvtSizeChanged, FWL_EVTHASH_SizeChanged)
IFWL_Widget* m_pWidget;
CFX_RectF m_rtOld;
CFX_RectF m_rtNew;
END_FWL_EVENT_DEF
BEGIN_FWL_EVENT_DEF(CFWL_EvtIdle, FWL_EVTHASH_Idle)
END_FWL_EVENT_DEF
#endif // XFA_FWL_CORE_CFWL_EVENT_H_
|