| Index: xfa/fwl/core/cfwl_event.h
|
| diff --git a/xfa/fwl/core/cfwl_event.h b/xfa/fwl/core/cfwl_event.h
|
| index b2f88802f9fc1c987b228df938bcfdb40b10c002..d53fcb36dc274b333ac059f2cc06548e52a16449 100644
|
| --- a/xfa/fwl/core/cfwl_event.h
|
| +++ b/xfa/fwl/core/cfwl_event.h
|
| @@ -10,23 +10,42 @@
|
| #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
|
| +enum class CFWL_EventType {
|
| + None = 0,
|
| +
|
| + CheckStateChanged,
|
| + CheckWord,
|
| + Click,
|
| + Close,
|
| + CloseUp,
|
| + ContextMenu,
|
| + DataSelected,
|
| + DateChanged,
|
| + Draw,
|
| + DrawItem,
|
| + DropDown,
|
| + EditChanged,
|
| + GetSuggestedWords,
|
| + HoverChanged,
|
| + Idle,
|
| + Key,
|
| + KillFocus,
|
| + MenuCommand,
|
| + Mouse,
|
| + MouseWheel,
|
| + PostDropDown,
|
| + PreDropDown,
|
| + PreSelfAdaption,
|
| + Scroll,
|
| + SelectChanged,
|
| + SetFocus,
|
| + SizeChanged,
|
| + TextChanged,
|
| + TextFull,
|
| + Validate
|
| +};
|
|
|
| typedef enum {
|
| FWL_EVENT_MOUSE_MASK = 1 << 0,
|
| @@ -44,13 +63,33 @@ typedef enum {
|
| class CFX_Graphics;
|
| class IFWL_Widget;
|
|
|
| -class CFWL_Event : public CFWL_Note {
|
| +class CFWL_Event {
|
| public:
|
| - CFWL_Event() : CFWL_Note(TRUE) {}
|
| + CFWL_Event()
|
| + : m_pSrcTarget(nullptr), m_pDstTarget(nullptr), m_dwRefCount(1) {}
|
| virtual ~CFWL_Event() {}
|
| +
|
| + virtual FWL_ERR GetClassName(CFX_WideString& wsClass) const {
|
| + return FWL_ERR_Succeeded;
|
| + }
|
| + virtual CFWL_EventType GetClassID() const { return CFWL_EventType::None; }
|
| +
|
| + uint32_t Release() {
|
| + m_dwRefCount--;
|
| + uint32_t dwRefCount = m_dwRefCount;
|
| + if (!m_dwRefCount)
|
| + delete this;
|
| + return dwRefCount;
|
| + }
|
| +
|
| + IFWL_Widget* m_pSrcTarget;
|
| + IFWL_Widget* m_pDstTarget;
|
| +
|
| + private:
|
| + uint32_t m_dwRefCount;
|
| };
|
|
|
| -#define BEGIN_FWL_EVENT_DEF(classname, eventhashcode) \
|
| +#define BEGIN_FWL_EVENT_DEF(classname, eventType) \
|
| class classname : public CFWL_Event { \
|
| public: \
|
| classname() : CFWL_Event() {} \
|
| @@ -58,20 +97,20 @@ class CFWL_Event : public CFWL_Note {
|
| wsClass = L## #classname; \
|
| return FWL_ERR_Succeeded; \
|
| } \
|
| - virtual uint32_t GetClassID() const { return eventhashcode; }
|
| + virtual CFWL_EventType GetClassID() const { return eventType; }
|
|
|
| #define END_FWL_EVENT_DEF \
|
| } \
|
| ; // NOLINT
|
|
|
| -BEGIN_FWL_EVENT_DEF(CFWL_EvtMouse, FWL_EVTHASH_Mouse)
|
| +BEGIN_FWL_EVENT_DEF(CFWL_EvtMouse, CFWL_EventType::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)
|
| +BEGIN_FWL_EVENT_DEF(CFWL_EvtMouseWheel, CFWL_EventType::MouseWheel)
|
| FX_FLOAT m_fx;
|
| FX_FLOAT m_fy;
|
| FX_FLOAT m_fDeltaX;
|
| @@ -79,55 +118,55 @@ FX_FLOAT m_fDeltaY;
|
| uint32_t m_dwFlags;
|
| END_FWL_EVENT_DEF
|
|
|
| -BEGIN_FWL_EVENT_DEF(CFWL_EvtKey, FWL_EVTHASH_Key)
|
| +BEGIN_FWL_EVENT_DEF(CFWL_EvtKey, CFWL_EventType::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)
|
| +BEGIN_FWL_EVENT_DEF(CFWL_EvtSetFocus, CFWL_EventType::SetFocus)
|
| IFWL_Widget* m_pSetFocus;
|
| END_FWL_EVENT_DEF
|
|
|
| -BEGIN_FWL_EVENT_DEF(CFWL_EvtKillFocus, FWL_EVTHASH_KillFocus)
|
| +BEGIN_FWL_EVENT_DEF(CFWL_EvtKillFocus, CFWL_EventType::KillFocus)
|
| IFWL_Widget* m_pKillFocus;
|
| END_FWL_EVENT_DEF
|
|
|
| -BEGIN_FWL_EVENT_DEF(CFWL_EvtDraw, FWL_EVTHASH_Draw)
|
| +BEGIN_FWL_EVENT_DEF(CFWL_EvtDraw, CFWL_EventType::Draw)
|
| CFX_Graphics* m_pGraphics;
|
| IFWL_Widget* m_pWidget;
|
| END_FWL_EVENT_DEF
|
|
|
| -BEGIN_FWL_EVENT_DEF(CFWL_EvtClick, FWL_EVTHASH_Click)
|
| +BEGIN_FWL_EVENT_DEF(CFWL_EvtClick, CFWL_EventType::Click)
|
| END_FWL_EVENT_DEF
|
|
|
| -BEGIN_FWL_EVENT_DEF(CFWL_EvtScroll, FWL_EVTHASH_Scroll)
|
| +BEGIN_FWL_EVENT_DEF(CFWL_EvtScroll, CFWL_EventType::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)
|
| +BEGIN_FWL_EVENT_DEF(CFWL_EvtClose, CFWL_EventType::Close)
|
| END_FWL_EVENT_DEF
|
|
|
| -BEGIN_FWL_EVENT_DEF(CFWL_EvtContextMenu, FWL_EVTHASH_ContextMenu)
|
| +BEGIN_FWL_EVENT_DEF(CFWL_EvtContextMenu, CFWL_EventType::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)
|
| +BEGIN_FWL_EVENT_DEF(CFWL_EvtMenuCommand, CFWL_EventType::MenuCommand)
|
| int32_t m_iCommand;
|
| void* m_pData;
|
| END_FWL_EVENT_DEF
|
|
|
| -BEGIN_FWL_EVENT_DEF(CFWL_EvtSizeChanged, FWL_EVTHASH_SizeChanged)
|
| +BEGIN_FWL_EVENT_DEF(CFWL_EvtSizeChanged, CFWL_EventType::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)
|
| +BEGIN_FWL_EVENT_DEF(CFWL_EvtIdle, CFWL_EventType::Idle)
|
| END_FWL_EVENT_DEF
|
|
|
| #endif // XFA_FWL_CORE_CFWL_EVENT_H_
|
|
|