mbmparrayanimateframes.h
00001 #ifndef _MGUI_NCSCTRL_BMPARRAYANIMATEFRAMES_H
00002 #define _MGUI_NCSCTRL_BMPARRAYANIMATEFRAMES_H
00003
00004 #ifdef _cplusplus
00005 extern "C"{
00006 #endif
00007
00008 typedef struct _mBmpArrayAnimateFrames mBmpArrayAnimateFrames;
00009 typedef struct _mBmpArrayAnimateFramesClass mBmpArrayAnimateFramesClass;
00010
00011 typedef struct _mBmpArrayAnimateFrame{
00012 PBITMAP bmp;
00013 struct _mBmpArrayAnimateFrame* next;
00014 struct _mBmpArrayAnimateFrame* prev;
00015 }mBmpArrayAnimateFrame;
00016
00017 #define mBmpArrayAnimateFramesHeader(clsName) \
00018 mAnimateFramesHeader(clsName) \
00019 mBmpArrayAnimateFrame *frames; \
00020 PRIVATE DWORD flags;
00021
00022 struct _mBmpArrayAnimateFrames{
00023 mBmpArrayAnimateFramesHeader(mAnimateFrames)
00024 };
00025
00026 #define mBmpArrayAnimateFramesClassHeader(clss, superCls) \
00027 mAnimateFramesClassHeader(clss, superCls) \
00028
00029 struct _mBmpArrayAnimateFramesClass{
00030 mBmpArrayAnimateFramesClassHeader(mBmpArrayAnimateFrames, mAnimateFrames)
00031 };
00032
00033 MGNCS_EXPORT extern mBmpArrayAnimateFramesClass g_stmBmpArrayAnimateFramesCls;
00034
00035 MGNCS_EXPORT mBmpArrayAnimateFrames * ncsCreateAnimateFramesFromDIR(const char* dir);
00036
00037 MGNCS_EXPORT mBmpArrayAnimateFrames * ncsCreateAnimateFramesFromImageList(const char ** file_list, int count);
00038
00039 MGNCS_EXPORT mBmpArrayAnimateFrames * ncsCreateAnimateFramesFromBmpArray(PBITMAP * bmps, int count, BOOL auto_delete);
00040
00041 #define ncsCreateAnimateFramesFromMEM(bmps, count) \
00042 ncsCreateAnimateFramesFromBmpArray(bmps, count, FALSE)
00043
00044
00045 #ifdef _cplusplus
00046 }
00047 #endif
00048
00049 #endif