50 #ifdef _MGNCSCTRL_ANIMATE
52 #ifndef _MGUI_NCSCTRL_ANIMATESTATIC_H
53 #define _MGUI_NCSCTRL_ANIMATESTATIC_H
60 #define NCSCTRL_ANIMATE NCSCLASSNAME("animate")
62 typedef struct _mAnimate mAnimate;
63 typedef struct _mAnimateClass mAnimateClass;
64 typedef struct _mAnimateRenderer mAnimateRenderer;
67 #define mAnimateHeader(clsName) \
68 mStaticHeader(clsName) \
69 unsigned int state:4; \
70 unsigned int paint_flag; \
71 unsigned int interval:24; \
77 mAnimateHeader(mAnimate)
80 #define mAnimateClassHeader(clsName, parentClass) \
81 mStaticClassHeader(clsName, parentClass) \
82 BOOL (*play)(clsName*); \
83 BOOL (*pauseResume)(clsName*); \
84 BOOL (*stop)(clsName*);
88 mAnimateClassHeader(mAnimate,
mStatic)
91 #define mAnimateRendererHeader(clsName, parentClass) \
92 mStaticRendererHeader(clsName, parentClass)
94 struct _mAnimateRenderer {
95 mAnimateRendererHeader(mAnimate,
mStatic)
98 MGNCS_EXPORT
extern mAnimateClass g_stmAnimateCls;
101 NCSP_ANMT_GIFFILE = NCSP_STATIC_MAX + 1,
110 #define NCSS_ANMT_SHIFT (NCSS_STATIC_SHIFT + 1)
112 #define NCSS_ANMT_AUTOLOOP (0x1<<NCSS_ANMT_SHIFT)
114 #define NCSS_ANMT_SCALE (0x2<<NCSS_ANMT_SHIFT)
116 #define NCSS_ANMT_AUTOFIT (0x4<<NCSS_ANMT_SHIFT)
118 #define NCSS_ANMT_AUTOPLAY (0x8<<NCSS_ANMT_SHIFT)
120 enum enumAnimateNotify{
121 NCSN_ANMT_MAX = NCSN_STATIC_MAX + 1
124 #define ANIM_PLAY 0x01
125 #define ANIM_PAUSE 0x02
126 #define ANIM_STOP 0x04
127 #define ANIM_STARTPLAY 0xF112
128 #define ANIM_PAUSE_RESUME 0xF113
129 #define ANIM_STOPPLAY 0xF114
131 #define ncsAnimateStart(self) ((self)?_c(self)->play(self):FALSE)
133 #define ncsAnimatePauseResume(self) ((self)?_c(self)->pauseResume(self):FALSE)
135 #define ncsAnimateStop(self) ((self)?_c(self)->stop(self):FALSE)
142 #endif //_MGNCSCTRL_ANIMATE