XTPTaskPanelAnimation.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:2k
源码类别:
对话框与窗口
开发平台:
Visual C++
- // XTPTaskPanelAnimation.h: interface for the CXTPTaskPanelAnimation class.
- //
- // This file is a part of the XTREME TASKPANEL MFC class library.
- // (c)1998-2008 Codejock Software, All Rights Reserved.
- //
- // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
- // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
- // CONSENT OF CODEJOCK SOFTWARE.
- //
- // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
- // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
- // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
- // SINGLE COMPUTER.
- //
- // CONTACT INFORMATION:
- // support@codejock.com
- // http://www.codejock.com
- //
- /////////////////////////////////////////////////////////////////////////////
- //{{AFX_CODEJOCK_PRIVATE
- #if !defined(__XTPTASKPANELANIMATION_H__)
- #define __XTPTASKPANELANIMATION_H__
- //}}AFX_CODEJOCK_PRIVATE
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- //{{AFX_CODEJOCK_PRIVATE
- class CXTPTaskPanel;
- #define XTP_TID_ANIMATION 0xACD43
- class _XTP_EXT_CLASS CXTPTaskPanelAnimation
- {
- protected:
- struct CAnimateInfo
- {
- CAnimateInfo();
- ~CAnimateInfo();
- HBITMAP hbmSrc;
- BYTE* pSrcBits;
- HBITMAP hbmSrcBack;
- BYTE* pSrcBackBits;
- RECT rcPaint;
- int m_nAnimation;
- CArray<RECT, RECT&> arrExclude;
- };
- public:
- CXTPTaskPanelAnimation(CXTPTaskPanel* pTaskPanel);
- ~CXTPTaskPanelAnimation();
- public:
- void OnPaint(CPaintDC& paintDC);
- void RedrawRect(LPCRECT lpRect, BOOL bAnimate);
- void OnAnimate();
- void OnDestroy();
- protected:
- void RemoveAnimations();
- void AnimateRect(CClientDC& dc, CAnimateInfo* pai);
- void RemoveIntersections(LPCRECT rcPaint, BOOL bAddExclude);
- void AlphaBlendU(PBYTE pDest, PBYTE pSrcBack, int cx, int cy, PBYTE pSrc, BYTE byAlpha);
- void AddAnimation(CClientDC& dc, CAnimateInfo* pai);
- BOOL IsAnimationEnabled() const;
- public:
- CXTPTaskPanel* m_pParent;
- CBitmap m_bmpCache;
- BOOL m_bInvalidate;
- UINT_PTR m_nTimer;
- BOOL m_bAnimation;
- BOOL m_bDoubleBuffer;
- protected:
- CArray<CAnimateInfo*, CAnimateInfo*> m_arrAnimation;
- };
- //}}AFX_CODEJOCK_PRIVATE
- #endif // !defined(__XTPTASKPANELANIMATION_H__)