| Index: xfa/fwl/basewidget/fwl_spinbuttonimp.cpp
|
| diff --git a/xfa/fwl/basewidget/fwl_spinbuttonimp.cpp b/xfa/fwl/basewidget/fwl_spinbuttonimp.cpp
|
| index 25c8a359832eb7cc1bebb5ff0418fce796e8d56a..4eddce7439cfb37f627703895dcfae1529ad0cc2 100644
|
| --- a/xfa/fwl/basewidget/fwl_spinbuttonimp.cpp
|
| +++ b/xfa/fwl/basewidget/fwl_spinbuttonimp.cpp
|
| @@ -52,7 +52,7 @@ CFWL_SpinButtonImp::CFWL_SpinButtonImp(
|
| m_dwDnState(CFWL_PartState_Normal),
|
| m_iButtonIndex(0),
|
| m_bLButtonDwn(FALSE),
|
| - m_hTimer(NULL) {
|
| + m_pTimerInfo(nullptr) {
|
| m_rtClient.Reset();
|
| m_rtUpButton.Reset();
|
| m_rtDnButton.Reset();
|
| @@ -133,7 +133,7 @@ FWL_Error CFWL_SpinButtonImp::DrawWidget(CFX_Graphics* pGraphics,
|
| if (!pGraphics)
|
| return FWL_Error::Indefinite;
|
| CFX_RectF rtClip(m_rtClient);
|
| - if (pMatrix != NULL) {
|
| + if (pMatrix) {
|
| pMatrix->TransformRect(rtClip);
|
| }
|
| IFWL_ThemeProvider* pTheme = GetAvailableTheme();
|
| @@ -147,15 +147,17 @@ FWL_Error CFWL_SpinButtonImp::DrawWidget(CFX_Graphics* pGraphics,
|
| DrawDownButton(pGraphics, pTheme, pMatrix);
|
| return FWL_Error::Succeeded;
|
| }
|
| -int32_t CFWL_SpinButtonImp::Run(FWL_HTIMER hTimer) {
|
| - if (m_hTimer) {
|
| - CFWL_EvtSpbClick wmPosChanged;
|
| - wmPosChanged.m_pSrcTarget = m_pInterface;
|
| - wmPosChanged.m_bUp = m_iButtonIndex == 0;
|
| - DispatchEvent(&wmPosChanged);
|
| - }
|
| - return 1;
|
| +
|
| +void CFWL_SpinButtonImp::Run(IFWL_TimerInfo* pTimerInfo) {
|
| + if (!m_pTimerInfo)
|
| + return;
|
| +
|
| + CFWL_EvtSpbClick wmPosChanged;
|
| + wmPosChanged.m_pSrcTarget = m_pInterface;
|
| + wmPosChanged.m_bUp = m_iButtonIndex == 0;
|
| + DispatchEvent(&wmPosChanged);
|
| }
|
| +
|
| FWL_Error CFWL_SpinButtonImp::EnableButton(FX_BOOL bEnable, FX_BOOL bUp) {
|
| if (bUp) {
|
| if (bEnable) {
|
| @@ -305,8 +307,9 @@ void CFWL_SpinButtonImpDelegate::OnLButtonDown(CFWL_MsgMouse* pMsg) {
|
| m_pOwner->DispatchEvent(&wmPosChanged);
|
| m_pOwner->Repaint(bUpPress ? &m_pOwner->m_rtUpButton
|
| : &m_pOwner->m_rtDnButton);
|
| - m_pOwner->m_hTimer = FWL_StartTimer(m_pOwner, kElapseTime);
|
| + m_pOwner->m_pTimerInfo = m_pOwner->StartTimer(kElapseTime, true);
|
| }
|
| +
|
| void CFWL_SpinButtonImpDelegate::OnLButtonUp(CFWL_MsgMouse* pMsg) {
|
| if (m_pOwner->m_pProperties->m_dwStates & CFWL_PartState_Disabled) {
|
| return;
|
| @@ -314,9 +317,9 @@ void CFWL_SpinButtonImpDelegate::OnLButtonUp(CFWL_MsgMouse* pMsg) {
|
| m_pOwner->m_bLButtonDwn = FALSE;
|
| m_pOwner->SetGrab(FALSE);
|
| m_pOwner->SetFocus(FALSE);
|
| - if (m_pOwner->m_hTimer) {
|
| - FWL_StopTimer(m_pOwner->m_hTimer);
|
| - m_pOwner->m_hTimer = NULL;
|
| + if (m_pOwner->m_pTimerInfo) {
|
| + m_pOwner->m_pTimerInfo->StopTimer();
|
| + m_pOwner->m_pTimerInfo = nullptr;
|
| }
|
| FX_BOOL bRepaint = FALSE;
|
| CFX_RectF rtInvalidate;
|
|
|