manimateframes.h
00001 #ifndef _MGUI_NCSCTRL_ANIMATEFRAMES_H
00002 #define _MGUI_NCSCTRL_ANIMATEFRAMES_H
00003
00004 #ifdef _cplusplus
00005 extern "C"{
00006 #endif
00007
00008 #define NCSCTRL_ANIMATEFRAMES NCSCLASSNAME("animateframes")
00009
00010 typedef struct _mAnimateFrames mAnimateFrames;
00011 typedef struct _mAnimateFramesClass mAnimateFramesClass;
00012
00013 #define mAnimateFramesHeader(clss) \
00014 mObjectHeader(clss) \
00015 int max_width; \
00016 int max_height; \
00017 int nr_frames; \
00018 void * cur_frame;
00019
00020 struct _mAnimateFrames{
00021 mAnimateFramesHeader(mAnimateFrames)
00022 };
00023
00024 #define NCSR_ANIMATEFRAME_OK 0
00025 #define NCSR_ANIMATEFRAME_LASTFRAME 1
00026 #define NCSR_ANIMATEFRAME_FAILED -1
00027
00028 #define mAnimateFramesClassHeader(clss, superCls) \
00029 mObjectClassHeader(clss, superCls) \
00030 BOOL (*getMaxFrameSize)(mAnimateFrames* self, int *pwidth, int *pheight); \
00031 int (*drawFrame)(mAnimateFrames* self, HDC hdc, mObject *owner, RECT *pRect, int align, int valign, BOOL bScale); \
00032 int (*nextFrame)(mAnimateFrames* self);
00033
00034 struct _mAnimateFramesClass{
00035 mAnimateFramesClassHeader(mAnimateFrames, mObject)
00036 };
00037
00038 MGNCS_EXPORT extern mAnimateFramesClass g_stmAnimateFramesCls;
00039
00040 #ifdef _cplusplus
00041 }
00042 #endif
00043
00044 #endif