void CFadeButtonUI::DoEvent(TEventUI& event)
	{
		if( event.Type == UIEVENT_MOUSEENTER && !IsAnimationRunning( FADE_IN_ID ) )
		{
			m_bFadeAlpha = 0;
			m_bMouseHove = TRUE;
			StopAnimation( FADE_OUT_ID );
			StartAnimation( FADE_ELLAPSE, FADE_FRAME_COUNT, FADE_IN_ID );
			Invalidate();
			return;
		}
		if( event.Type == UIEVENT_MOUSELEAVE && !IsAnimationRunning( FADE_OUT_ID ) )
		{
			m_bFadeAlpha = 0;
			m_bMouseLeave = TRUE;
			StopAnimation(FADE_IN_ID);
			StartAnimation(FADE_ELLAPSE, FADE_FRAME_COUNT, FADE_OUT_ID);
			Invalidate();
			return;
		}
		if( event.Type == UIEVENT_TIMER ) 
		{
			OnTimer(  event.wParam );
		}
		CButtonUI::DoEvent( event );
	}
Example #2
0
	void CFadeAnimation::PaintAnimationStatusImage(HDC hDC,LPCTSTR lpszNormalImage,LPCTSTR lpszHotImage,UINT nState)
	{
		ASSERT(hDC);
		ASSERT(lpszNormalImage);
		if(!lpszNormalImage || !m_pControl)
			return;

		if( IsAnimationing())
		{
// 			if( m_bMouseHove )
// 			{
// 				m_bMouseHove = FALSE;
// 				//m_sLastImage = lpszHotImage;
// 				m_pControl->DrawImage(hDC, (LPCTSTR)lpszNormalImage);
// 				return;
// 			}
// 
// 			if( m_bMouseLeave )
// 			{
// 				m_bMouseLeave = FALSE;
// 				//m_sLastImage = lpszNormalImage;
// 				m_pControl->DrawImage(hDC, (LPCTSTR)lpszHotImage);
// 				return;
// 			}

			LPCTSTR pOldImage = lpszNormalImage;
			LPCTSTR pNewImage = lpszHotImage;

// 			m_sOldImage = lpszNormalImage;
// 			m_sNewImage = lpszHotImage;
			if( IsAnimationRunning(FADE_OUT_ID) )
			{
// 				m_sOldImage = lpszHotImage;
// 				m_sNewImage = lpszNormalImage;
				pOldImage = lpszHotImage;
				pNewImage = lpszNormalImage;
			}

			m_pControl->DrawImage(hDC, pOldImage, NULL, true, 255 - m_bFadeAlpha );
			m_pControl->DrawImage(hDC, pNewImage, NULL, true, m_bFadeAlpha );
		}
		else
		{
			if(0 != (nState&UISTATE_HOT))
				m_pControl->DrawImage(hDC,lpszHotImage);
			else
				m_pControl->DrawImage(hDC,lpszNormalImage);
// 			if(m_sLastImage.IsEmpty())
// 				m_sLastImage = lpszNormalImage;
// 			m_pControl->DrawImage(hDC, (LPCTSTR)m_sLastImage);
		}
	}
Example #3
0
	BOOL CFadeAnimation::EnterFadeOut()
	{
		if (!IsAnimationRunning( FADE_OUT_ID ))
		{
			StopAnimation(FADE_IN_ID);

			m_bFadeAlpha = 0;
			m_bMouseLeave = TRUE;
			StartAnimation(FADE_ELAPSE, FADE_FRAME_COUNT, FADE_OUT_ID);
			UpdateAnimation();
			return TRUE;
		}
		return FALSE;
	}
	void CFadeButtonUI::PaintStatusImage(HDC hDC)
	{
		if( IsFocused() ) m_uButtonState |= UISTATE_FOCUSED;
		else m_uButtonState &= ~ UISTATE_FOCUSED;
		if( !IsEnabled() ) m_uButtonState |= UISTATE_DISABLED;
		else m_uButtonState &= ~ UISTATE_DISABLED;

		if( (m_uButtonState & UISTATE_DISABLED) != 0 ) {
			if( !m_sDisabledImage.IsEmpty() ) {
				if( !DrawImage(hDC, (LPCTSTR)m_sDisabledImage) ) m_sDisabledImage.Empty();
				else return;
			}
		}
		else if( (m_uButtonState & UISTATE_PUSHED) != 0 ) {
			if( !m_sPushedImage.IsEmpty() ) {
				if( !DrawImage(hDC, (LPCTSTR)m_sPushedImage) ) m_sPushedImage.Empty();
				else return;
			}
		}
		else if( (m_uButtonState & UISTATE_FOCUSED) != 0 ) {
			if( !m_sFocusedImage.IsEmpty() ) {
				if( !DrawImage(hDC, (LPCTSTR)m_sFocusedImage) ) m_sFocusedImage.Empty();
				else return;
			}
		}

		if( !m_sNormalImage.IsEmpty() ) {
			if( IsAnimationRunning(FADE_IN_ID) || IsAnimationRunning(FADE_OUT_ID))
			{
				if( m_bMouseHove )
				{
					m_bMouseHove = FALSE;
					m_sLastImage = m_sHotImage;
					if( !DrawImage(hDC, (LPCTSTR)m_sNormalImage) ) 
						m_sNormalImage.Empty();
					return;
				}

				if( m_bMouseLeave )
				{
					m_bMouseLeave = FALSE;
					m_sLastImage = m_sNormalImage;
					if( !DrawImage(hDC, (LPCTSTR)m_sHotImage) ) 
						m_sHotImage.Empty();
					return;
				}

				m_sOldImage = m_sNormalImage;
				m_sNewImage = m_sHotImage;
				if( IsAnimationRunning(FADE_OUT_ID) )
				{
					m_sOldImage = m_sHotImage;
					m_sNewImage = m_sNormalImage;
				}

				if( !DrawImage(hDC, (LPCTSTR)m_sOldImage, NULL, true, 255 - m_bFadeAlpha ) ) 
					m_sOldImage.Empty();
				if( !DrawImage(hDC, (LPCTSTR)m_sNewImage, NULL, true, m_bFadeAlpha ) ) 
					m_sNewImage.Empty();
				return;
			}
			else
			{
				if( !DrawImage(hDC, (LPCTSTR)m_sLastImage) ) 
					m_sLastImage.Empty();
				return;
			}
		}
	}
	BOOL CAnimControlUI::IsRunning() const
	{
		return IsAnimationRunning(ANIMATION_ID);
	}
Example #6
0
	BOOL CFadeAnimation::IsAnimationing() const
	{
		return (IsAnimationRunning(FADE_IN_ID) || IsAnimationRunning(FADE_OUT_ID));
	}