52 lines
1.4 KiB
C
52 lines
1.4 KiB
C
#ifndef MYWIN_WORKING_H__
|
|
#define MYWIN_WORKING_H__
|
|
|
|
#include "mywin_inc.h"
|
|
|
|
|
|
|
|
typedef struct
|
|
{
|
|
WIN_WindowStruct win;
|
|
u32 rectColor;
|
|
u32 txtColor;
|
|
int time_id1;
|
|
int time_id2;
|
|
WIN_WorkFunStruct *work; //工作结构体
|
|
int ret; //工作函数的返回值
|
|
void (*break_fun)(void *ptr); //线程退出函数
|
|
void *ptr; //线程退出函数的参数
|
|
void (*get_progress)(int *now,int *all); //用于获取进度的函数
|
|
char msg[50];
|
|
char msg_draw[100];
|
|
int msg_h_index;
|
|
}WIN_WorkingStruct;
|
|
|
|
|
|
|
|
WIN_WorkingStruct *WIN_CreatWorking (WIN_WindowStruct *base,
|
|
void (*msgLoop)(struct _WIN_WindowStruct *win,WIN_MsgStruct *msg),
|
|
int x,int y,int x_size,int y_size);
|
|
|
|
|
|
//默认绘制函数
|
|
void WORKING_DefaultPaint (WIN_WorkingStruct *working);
|
|
|
|
|
|
//默认消息处理函数
|
|
void WORKING_DefaultMsgLoop (WIN_WorkingStruct *working,WIN_MsgStruct *msg);
|
|
|
|
|
|
//显示提示框并进行操作,返回值是操作的返回值
|
|
int WORKING_DoWork (WIN_WindowStruct *base,char *msg,int (*fun)(void *),void *ptr);
|
|
|
|
//显示提示框并进行操作,返回值是操作的返回值
|
|
//这个函数可以指定优先级,并且可以手动退出,可以获取线程进度
|
|
int WORKING_DoWorkPro (WIN_WindowStruct *base,char *msg,int (*fun)(void *),void *ptr,
|
|
void (*break_fun)(void *),void *b_ptr,void (*get_progress)(int *now,int *all),u8 pro);
|
|
|
|
#endif
|
|
|
|
|
|
|