00001 #ifndef _MGUI_NCSCTRL_GIFANIMATEFRAMES_H 00002 #define _MGUI_NCSCTRL_GIFANIMATEFRAMES_H 00003 00004 #ifdef _cplusplus 00005 extern "C"{ 00006 #endif 00007 00008 typedef struct _mGIFAnimateFrames mGIFAnimateFrames; 00009 typedef struct _mGIFAnimateFramesClass mGIFAnimateFramesClass; 00010 00011 typedef struct _mGIFAnimateFrame{ 00012 int off_x; 00013 int off_y; 00014 int disposal; 00015 unsigned int delay_time; 00016 BITMAP bmp; 00017 struct _mGIFAnimateFrame* next; 00018 struct _mGIFAnimateFrame* prev; 00019 }mGIFAnimateFrame; 00020 00021 00022 #define mGIFAnimateFramesHeader(clsName) \ 00023 mAnimateFramesHeader(clsName) \ 00024 /*RGB bk;*/ \ 00025 mGIFAnimateFrame *frames; \ 00026 HDC mem_dc; 00027 00028 struct _mGIFAnimateFrames{ 00029 mGIFAnimateFramesHeader(mAnimateFrames) 00030 }; 00031 00032 #define mGIFAnimateFramesClassHeader(clss, superCls) \ 00033 mAnimateFramesClassHeader(clss, superCls) 00034 00035 struct _mGIFAnimateFramesClass{ 00036 mGIFAnimateFramesClassHeader(mGIFAnimateFrames, mAnimateFrames) 00037 }; 00038 00039 MGNCS_EXPORT extern mGIFAnimateFramesClass g_stmGIFAnimateFramesCls; 00040 00041 MGNCS_EXPORT mGIFAnimateFrames * ncsCreateAnimateFramesFromGIFFile(const char* gif_file); 00042 00043 MGNCS_EXPORT mGIFAnimateFrames * ncsCreateAnimateFramesFromGIFMem(const void* mem, int size); 00044 00045 #ifdef _cplusplus 00046 } 00047 #endif 00048 00049 #endif
1.6.3