1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2016 The PDFium Authors 2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file. 4*3ac0a46fSAndroid Build Coastguard Worker 5*3ac0a46fSAndroid Build Coastguard Worker // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6*3ac0a46fSAndroid Build Coastguard Worker 7*3ac0a46fSAndroid Build Coastguard Worker #ifndef XFA_FWL_CFWL_EVENT_H_ 8*3ac0a46fSAndroid Build Coastguard Worker #define XFA_FWL_CFWL_EVENT_H_ 9*3ac0a46fSAndroid Build Coastguard Worker 10*3ac0a46fSAndroid Build Coastguard Worker #include "core/fxcrt/unowned_ptr.h" 11*3ac0a46fSAndroid Build Coastguard Worker #include "v8/include/cppgc/macros.h" 12*3ac0a46fSAndroid Build Coastguard Worker 13*3ac0a46fSAndroid Build Coastguard Worker class CFWL_Widget; 14*3ac0a46fSAndroid Build Coastguard Worker 15*3ac0a46fSAndroid Build Coastguard Worker class CFWL_Event { 16*3ac0a46fSAndroid Build Coastguard Worker CPPGC_STACK_ALLOCATED(); // Allow Raw/Unowned pointers. 17*3ac0a46fSAndroid Build Coastguard Worker 18*3ac0a46fSAndroid Build Coastguard Worker public: 19*3ac0a46fSAndroid Build Coastguard Worker enum class Type { 20*3ac0a46fSAndroid Build Coastguard Worker CheckStateChanged, 21*3ac0a46fSAndroid Build Coastguard Worker Click, 22*3ac0a46fSAndroid Build Coastguard Worker Close, 23*3ac0a46fSAndroid Build Coastguard Worker EditChanged, 24*3ac0a46fSAndroid Build Coastguard Worker Mouse, 25*3ac0a46fSAndroid Build Coastguard Worker PostDropDown, 26*3ac0a46fSAndroid Build Coastguard Worker PreDropDown, 27*3ac0a46fSAndroid Build Coastguard Worker Scroll, 28*3ac0a46fSAndroid Build Coastguard Worker SelectChanged, 29*3ac0a46fSAndroid Build Coastguard Worker TextWillChange, 30*3ac0a46fSAndroid Build Coastguard Worker TextFull, 31*3ac0a46fSAndroid Build Coastguard Worker Validate 32*3ac0a46fSAndroid Build Coastguard Worker }; 33*3ac0a46fSAndroid Build Coastguard Worker 34*3ac0a46fSAndroid Build Coastguard Worker explicit CFWL_Event(Type type); 35*3ac0a46fSAndroid Build Coastguard Worker CFWL_Event(Type type, CFWL_Widget* pSrcTarget); 36*3ac0a46fSAndroid Build Coastguard Worker CFWL_Event(Type type, CFWL_Widget* pSrcTarget, CFWL_Widget* pDstTarget); 37*3ac0a46fSAndroid Build Coastguard Worker virtual ~CFWL_Event(); 38*3ac0a46fSAndroid Build Coastguard Worker GetType()39*3ac0a46fSAndroid Build Coastguard Worker Type GetType() const { return m_type; } GetSrcTarget()40*3ac0a46fSAndroid Build Coastguard Worker CFWL_Widget* GetSrcTarget() const { return m_pSrcTarget; } GetDstTarget()41*3ac0a46fSAndroid Build Coastguard Worker CFWL_Widget* GetDstTarget() const { return m_pDstTarget; } 42*3ac0a46fSAndroid Build Coastguard Worker 43*3ac0a46fSAndroid Build Coastguard Worker private: 44*3ac0a46fSAndroid Build Coastguard Worker const Type m_type; 45*3ac0a46fSAndroid Build Coastguard Worker UnownedPtr<CFWL_Widget> const m_pSrcTarget; 46*3ac0a46fSAndroid Build Coastguard Worker UnownedPtr<CFWL_Widget> const m_pDstTarget; 47*3ac0a46fSAndroid Build Coastguard Worker }; 48*3ac0a46fSAndroid Build Coastguard Worker 49*3ac0a46fSAndroid Build Coastguard Worker #endif // XFA_FWL_CFWL_EVENT_H_ 50