Files
player/Project/Src/MyWinApp/mywin_user_animation.h
2025-07-05 19:47:28 +08:00

55 lines
1.1 KiB
C

#ifndef MYWIN_USER_ANIMATION_H__
#define MYWIN_USER_ANIMATION_H__
#include "mywin_inc.h"
#include "ff.h"
#include "gif.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,u32 ms);
#endif