mgifanimateframes.h
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 \
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