54 #ifndef _MGUI_CTRL_ICONFLOW_H
55 #define _MGUI_CTRL_ICONFLOW_H
99 #define NCSCTRL_ICONFLOW NCSCLASSNAME("iconflow")
105 #define NCSS_ICONFLOW_SHIFT (NCSS_ITEMV_SHIFT+1)
111 #define NCSS_ICONFLOW_SORT (NCSS_ITEMV_AUTOSORT)
113 #define NCSS_ICONFLOW_VERTICAL (0x0001<<NCSS_ITEMV_SHIFT)
115 enum ICONFLOW_DIRECTION
122 typedef struct _ICONFLOW_POINT3D {
132 #define NCSS_ICONFLOW_LOOP NCSS_ITEMV_LOOP
134 #define mIconFlowHeader(className) \
135 mItemViewHeader(className) \
136 mHotPiece *bkgndPiece; \
142 ICONFLOW_POINT3D point3d[20]; \
147 unsigned iconBorder; \
149 enum ICONFLOW_DIRECTION direction;
171 #define mIconFlowClassHeader(clsName, parentClass) \
172 mItemViewClassHeader(clsName, parentClass) \
173 void (*beginAnimation)(clsName*, float startvalue, float endvalue); \
174 void (*endAnimation)(clsName*); \
175 void (*drawItem)(clsName*, HITEM hItem, HDC hdc, RECT *rcDraw); \
176 void (*runAnimation)(clsName*, float startvalue, float endvalue); \
177 void (*setVisItemCenter)(clsName*, int count ,int width, int height); \
178 void (*setIconSize)(clsName*, int width, int height); \
179 void (*setVisItemCount)(clsName*, int count); \
180 void (*setSpan)(clsName*, int span); \
181 HITEM (*addItem)(clsName*, NCS_ICONFLOW_ITEMINFO *info, int *pos);
183 struct _mIconFlowClass
185 mIconFlowClassHeader(
mIconFlow, mItemView)
202 #define mIconFlowRendererHeader(clsName, parentClass) \
203 mItemViewRendererHeader(clsName, parentClass)
210 struct _mIconFlowRenderer {
211 mIconFlowRendererHeader(
mIconFlow, mItemView)
229 NCSP_ICONFLOW_BKGNDPIECE,
230 NCSP_ICONFLOW_VISITEMCOUNT,
231 NCSP_ICONFLOW_ICONFRAME,
233 NCSP_ICONFLOW_ICONBORDER,
234 NCSP_ICONFLOW_ICONUSEZOOM,
247 NCSN_ICONFLOW_ENTER = NCSN_ITEMV_ENTER,
248 NCSN_ICONFLOW_CLICKED = NCSN_ITEMV_CLICKED,
249 NCSN_ICONFLOW_SELCHANGED = NCSN_ITEMV_SELCHANGED,