//simple gui library
//by warmonkey
#ifndef __SIMPLEGUI_H__
#define __SIMPLEGUI_H__
void GUI_set_dev(void (*pfpoint)(uint16 x,uint16 y));
//设定输出设备的画点函数
void GUI_font(void *font,void *color);
//设定字体和颜色
void GUI_set_xy(uint16 x,uint16 y);
//设定绘图原点
void GUI_set_area(uint16 x1,uint16 y1,
uint16 x2,uint16 y2);
//设定绘图区域
uint16 GUI_window(TCHAR *title,uint8 style);
//窗口
uint16 GUI_title(TCHAR *title);
//窗口标题
uint16 GUI_text(TCHAR *text);
//加载文字
uint16 GUI_image(void *bmp);
//加载图像
uint16 GUI_loadbmpfile(TCHAR *filename);
//加载bmp文件
uint16 GUI_loadjpgfile(TCHAR *filename);
//加载jpg文件
uint16 GUI_progressbar(uint8 percent,uint8 style);
//进度条
uint16 GUI_button(TCHAR *text,
void (*callback)(uint16 obj) );
//按钮
uint16 GUI_selector_options(TCHAR *options,
void (*callback)(uint16 obj,uint16 item) );
//选项组
uint16 GUI_selector_list(TCHAR *options,
void (*callback)(uint16 obj,uint16 item) );
//选择列表
uint16 GUI_ticks(TCHAR *options,
void (*callback)(uint16 obj,uint16 item) );
//勾选框
uint16 GUI_editbox(uint16 limit,
TCHAR *text,
void (*callback)(uint16 obj,TCHAR *text) );
//文字编辑框
uint16 GUI_msgbox(TCHAR *title,TCHAR *text,uint8 style);
//消息框
void GUI_delete(uint16 obj);
//删除对象
void GUI_clear(void);
//清除所有内容
#endif
指定绘图原点,或者指定绘图区域,自动决定元素大小和位置。
暂时有这么多API,大家看看设计是否合理。
补充一下:主要是检查一下功能是否完整,这是一个简易GUI,只要达到类似老式黑白屏手机的效果即可。同时希望大家能提出现有功能的改进方案。
200字以内,仅用于支线交流,主线讨论请采用回复功能。