diff options
Diffstat (limited to 'xfa/fwl/core')
-rw-r--r-- | xfa/fwl/core/fwl_timerimp.cpp | 21 | ||||
-rw-r--r-- | xfa/fwl/core/ifwl_timer.h | 16 | ||||
-rw-r--r-- | xfa/fwl/core/include/ifwl_adaptertimermgr.h | 8 |
3 files changed, 24 insertions, 21 deletions
diff --git a/xfa/fwl/core/fwl_timerimp.cpp b/xfa/fwl/core/fwl_timerimp.cpp index ced5adeb9d..22b28c8c67 100644 --- a/xfa/fwl/core/fwl_timerimp.cpp +++ b/xfa/fwl/core/fwl_timerimp.cpp @@ -10,21 +10,21 @@ #include "xfa/fwl/core/include/ifwl_adaptertimermgr.h" #include "xfa/fxfa/include/xfa_ffapp.h" -FWL_HTIMER FWL_StartTimer(IFWL_Timer* pTimer, - uint32_t dwElapse, - FX_BOOL bImmediately) { +IFWL_TimerInfo* IFWL_Timer::StartTimer(uint32_t dwElapse, bool bImmediately) { CXFA_FFApp* pAdapterNative = FWL_GetAdapterNative(); if (!pAdapterNative) - return NULL; + return nullptr; + IFWL_AdapterTimerMgr* pAdapterTimerMgr = pAdapterNative->GetTimerMgr(); if (!pAdapterTimerMgr) - return NULL; - FWL_HTIMER hTimer = NULL; - pAdapterTimerMgr->Start(pTimer, dwElapse, hTimer, bImmediately); - return hTimer; + return nullptr; + + IFWL_TimerInfo* pTimerInfo = nullptr; + pAdapterTimerMgr->Start(this, dwElapse, bImmediately, &pTimerInfo); + return pTimerInfo; } -FWL_Error FWL_StopTimer(FWL_HTIMER hTimer) { +FWL_Error IFWL_TimerInfo::StopTimer() { CXFA_FFApp* pAdapterNative = FWL_GetAdapterNative(); if (!pAdapterNative) return FWL_Error::Indefinite; @@ -32,5 +32,6 @@ FWL_Error FWL_StopTimer(FWL_HTIMER hTimer) { IFWL_AdapterTimerMgr* pAdapterTimerMgr = pAdapterNative->GetTimerMgr(); if (!pAdapterTimerMgr) return FWL_Error::Indefinite; - return pAdapterTimerMgr->Stop(hTimer); + + return pAdapterTimerMgr->Stop(this); } diff --git a/xfa/fwl/core/ifwl_timer.h b/xfa/fwl/core/ifwl_timer.h index 0143560410..162fef9692 100644 --- a/xfa/fwl/core/ifwl_timer.h +++ b/xfa/fwl/core/ifwl_timer.h @@ -8,17 +8,21 @@ #define XFA_FWL_CORE_IFWL_TIMER_H_ #include "core/fxcrt/include/fx_system.h" +#include "xfa/fwl/core/fwl_error.h" -typedef struct FWL_HTIMER_ { void* pData; } * FWL_HTIMER; +class IFWL_TimerInfo; class IFWL_Timer { public: virtual ~IFWL_Timer() {} - virtual int32_t Run(FWL_HTIMER hTimer) = 0; + virtual void Run(IFWL_TimerInfo* hTimer) = 0; + IFWL_TimerInfo* StartTimer(uint32_t dwElapse, bool bImmediately); +}; + +class IFWL_TimerInfo { + public: + virtual ~IFWL_TimerInfo() {} + FWL_Error StopTimer(); }; -FWL_HTIMER FWL_StartTimer(IFWL_Timer* pTimer, - uint32_t dwElapse, - FX_BOOL bImmediately = TRUE); -FWL_Error FWL_StopTimer(FWL_HTIMER hTimer); #endif // XFA_FWL_CORE_IFWL_TIMER_H_ diff --git a/xfa/fwl/core/include/ifwl_adaptertimermgr.h b/xfa/fwl/core/include/ifwl_adaptertimermgr.h index 7859e31fd8..111c3ebf84 100644 --- a/xfa/fwl/core/include/ifwl_adaptertimermgr.h +++ b/xfa/fwl/core/include/ifwl_adaptertimermgr.h @@ -10,16 +10,14 @@ #include "xfa/fwl/core/fwl_error.h" #include "xfa/fwl/core/ifwl_timer.h" -class IFWL_Timer; - class IFWL_AdapterTimerMgr { public: virtual ~IFWL_AdapterTimerMgr() {} virtual FWL_Error Start(IFWL_Timer* pTimer, uint32_t dwElapse, - FWL_HTIMER& hTimer, - FX_BOOL bImmediately = TRUE) = 0; - virtual FWL_Error Stop(FWL_HTIMER hTimer) = 0; + bool bImmediately, + IFWL_TimerInfo** pTimerInfo) = 0; + virtual FWL_Error Stop(IFWL_TimerInfo* pTimerInfo) = 0; }; #endif // XFA_FWL_CORE_INCLUDE_IFWL_ADAPTERTIMERMGR_H_ |