mGNCS API Reference  v1.2.0
A new control set and a new framework for MiniGUI apps
manimate.h
Go to the documentation of this file.
1 
38 #ifdef _MGNCSCTRL_ANIMATE
39 
40 #ifndef _MGUI_NCSCTRL_ANIMATESTATIC_H
41 #define _MGUI_NCSCTRL_ANIMATESTATIC_H
42 
43 
44 #ifdef __cplusplus
45 extern "C" {
46 #endif /* __cplusplus */
47 
48 #define NCSCTRL_ANIMATE NCSCLASSNAME("animate")
49 
50 typedef struct _mAnimate mAnimate;
51 typedef struct _mAnimateClass mAnimateClass;
52 typedef struct _mAnimateRenderer mAnimateRenderer;
53 
54 
55 #define mAnimateHeader(clsName) \
56  mStaticHeader(clsName) \
57  unsigned int state:4; \
58  unsigned int paint_flag; \
59  unsigned int interval:24; \
60  char *path; \
61  HDC mem_dc;
62 
63 struct _mAnimate
64 {
65  mAnimateHeader(mAnimate)
66 };
67 
68 #define mAnimateClassHeader(clsName, parentClass) \
69  mStaticClassHeader(clsName, parentClass) \
70  BOOL (*play)(clsName*); \
71  BOOL (*pauseResume)(clsName*); \
72  BOOL (*stop)(clsName*);
73 
74 struct _mAnimateClass
75 {
76  mAnimateClassHeader(mAnimate, mStatic)
77 };
78 
79 #define mAnimateRendererHeader(clsName, parentClass) \
80  mStaticRendererHeader(clsName, parentClass)
81 
82 struct _mAnimateRenderer {
83  mAnimateRendererHeader(mAnimate, mStatic)
84 };
85 
86 MGNCS_EXPORT extern mAnimateClass g_stmAnimateCls;
87 
88 enum mAnimateProp {
89  NCSP_ANMT_GIFFILE = NCSP_STATIC_MAX + 1,
90  NCSP_ANMT_DIR,
91  NCSP_ANMT_INTERVAL,
92  NCSP_ANMT_MEM, //gif memory
93  NCSP_ANMT_BMPARRAY, //bmp array end by NULL, e.g PBITMAP bmps={&bmp1, &bmp2, ..., NULL}
94  NCSP_ANMT_AFRAME, //set the animate frame object
95  NCSP_ANMT_MAX,
96 };
97 
98 #define NCSS_ANMT_SHIFT (NCSS_STATIC_SHIFT + 1)
99 
100 #define NCSS_ANMT_AUTOLOOP (0x1<<NCSS_ANMT_SHIFT)
101 
102 #define NCSS_ANMT_SCALE (0x2<<NCSS_ANMT_SHIFT)
103 
104 #define NCSS_ANMT_AUTOFIT (0x4<<NCSS_ANMT_SHIFT)
105 
106 #define NCSS_ANMT_AUTOPLAY (0x8<<NCSS_ANMT_SHIFT)
107 
108 enum enumAnimateNotify{
109  NCSN_ANMT_MAX = NCSN_STATIC_MAX + 1
110 };
111 
112 #define ANIM_PLAY 0x01
113 #define ANIM_PAUSE 0x02
114 #define ANIM_STOP 0x04
115 #define ANIM_STARTPLAY 0xF112
116 #define ANIM_PAUSE_RESUME 0xF113
117 #define ANIM_STOPPLAY 0xF114
118 
119 #define ncsAnimateStart(self) ((self)?_c(self)->play(self):FALSE)
120 
121 #define ncsAnimatePauseResume(self) ((self)?_c(self)->pauseResume(self):FALSE)
122 
123 #define ncsAnimateStop(self) ((self)?_c(self)->stop(self):FALSE)
124 
125 #ifdef __cplusplus
126 }
127 #endif /* __cplusplus */
128 
129 #endif
130 #endif //_MGNCSCTRL_ANIMATE
Static class, derived from mWidget.