Files
player/Project/Src/MyWinApp/mywin_user_status_bar.h

98 lines
1.8 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef MYWIN_USER_STATUS_BAR_H__
#define MYWIN_USER_STATUS_BAR_H__
//状态栏继承自MYWIN框架
//用户界面,根据具体显示用途编写,没有通用性
#include "elf.h"
//状态栏需要的资源数据结构体
typedef struct
{
u8 *bluetooth;
u8 *heart;
u8 *nfc;
u8 *betty;
}STATUSBAR_ResStruct;
//状态参数
typedef struct
{
u32 structType; //结构体类型
char time[20];
char mode[100];
int mode_x; //在字符超过显示宽度时滚动显示x方向的偏移
char betty[10];
int blueState;
int heartState;
int nfcState;
int bettyState;
}STATUSBAR_DataStruct;
typedef struct
{
app_struct *app;
RECT_Struct enter;
RECT_Struct exit;
}STATUSBAR_AppStruct;
typedef struct
{
WIN_WindowStruct win;
STATUSBAR_ResStruct res; //显示用的资源
STATUSBAR_DataStruct stat;
int img_xsize;//图标最大横向尺寸
WIN_PicStruct pic;//状态栏背景图片
u32 backColor; //背景颜色
u32 color ; //前景颜色
int timerId; //定时器id
int timerIdGet; //用于获取时间
u8 sec;
int mov_start; //移动开始
int y_size_def; //默认的y尺寸
int dis; //滑动方向1展开0缩小
int app_num;
int app_y_step;
STATUSBAR_AppStruct app_item[APPM_LIST_MAXLEN];
}WIN_StatusBarStruct;
//在堆里构造一个状态栏
WIN_StatusBarStruct *WIN_CreatStatusBar (WIN_WindowStruct *base,
void (*msgLoop)(struct _WIN_WindowStruct *win,WIN_MsgStruct *msg),
int x,int y,int x_size,int y_size);
//状态信息更新
void STATUSBAR_StateUpdata (WIN_StatusBarStruct *statusbar,STATUSBAR_DataStruct *s);
//设置资源文件
void STATUSBAR_SetRes (WIN_StatusBarStruct *statusbar,STATUSBAR_ResStruct *r);
//设置背景图片
void STATUSBAR_SetBackPic (WIN_StatusBarStruct *statusbar,WIN_PicStruct *pic);
//默认绘制函数
void STATUSBAR_DefaultPaint (WIN_StatusBarStruct *statusbar);
//默认消息处理函数
void STATUSBAR_DefaultMsgLoop (WIN_StatusBarStruct *statusbar,WIN_MsgStruct *msg);
#endif