#ifndef MYWIN_USER_ANIMATION_H__ #define MYWIN_USER_ANIMATION_H__ #include "ff.h" #include "gif.h" #include "mywin_inc.h" // 定义动画的最高帧率 #define WIN_ANIMATION_FRAMERATE 14 typedef struct { WIN_WindowStruct win; WIN_PicStruct pic; GIF_DecodeStruct *gif; int frameNow; // 当前帧数 int timerId; // 播放动画使用的延时定时器 int timerIdReturn; // 播放指定时间长度的定时器 int once; // 只播放一次 int x_off; int y_off; } WIN_AnimationStruct; WIN_AnimationStruct *WIN_CreatAnimation( WIN_WindowStruct *base, void (*msgLoop)(struct _WIN_WindowStruct *win, WIN_MsgStruct *msg), int x, int y, int x_size, int y_size); void WIN_DeleteAnimation(WIN_AnimationStruct *animation); // 消息框的绘制函数 void ANIMATION_DefaultPaint(WIN_AnimationStruct *animation); // 消息框的消息处理函数 void ANIMATION_defaultMsgLoop(WIN_AnimationStruct *animation, WIN_MsgStruct *msg); // 显示一个图片 WIN_AnimationStruct *ANIMATION_ShowGif(WIN_WindowStruct *base, char *name); // 显示一个图片指定时间 WIN_AnimationStruct *ANIMATION_ShowGifTime(WIN_WindowStruct *base, char *name, uint32_t ms); #endif