69,369
社区成员
发帖
与我相关
我的任务
分享
struct menu_obj;
static void tw_draw_setup(void* list, int item)
{
menu_obj* al = (menu_obj*)list; //将一个void类型的指针强制转换为menu_obj类型的指针,并赋值给al
unsigned char line[TW_LEN] = { 0 }; //无符号字符数组全部初始为0
struct font_info Item_line = { line, 1, 0, NOMAL_FG_COLOR, NOMAL_BG_COLOR, 0 }; //
unsigned char i, j;
for (i = 0; i<TW_LEN; i++) //将line元素赋值为IDX_SPACE
line[i] = IDX_SPACE;
line[TW_LEN] = 0; //将line数组外的第一个元素置0
for (j = 0; j<TW_ITEM; j++)
{
tw_draw_board(al, item, j); //调用tw_draw_board
if (j == item)
{
Item_line.bg_color = NOMAL_BG_COLOR; //设置成员变量
Item_line.fg_color = 10; //设置成员变量
line[0] = IDX_SELECT_ICON; //line[0]赋值IDX_SELECT_ICON
line[1] = IDX_SELECT_ICON + 1; //依上+1
//line[2] = IDX_SELECT_ICON+2;
}
else
{
Item_line.bg_color = NOMAL_BG_COLOR; //设置成员变量
Item_line.fg_color = NOMAL_FG_COLOR; //设置成员变量
line[0] = IDX_SPACE; //line[0]赋值IDX_SPACE
line[1] = IDX_SPACE; //依上
//line[2] = IDX_SPACE;
}
if (j<2)
{
for (i = TEXT_HEAD; i<LANGUAGE_FONT_LEN + TEXT_HEAD; i++)
line[i] = IDX_LANGUAGE_FONT + (i - TEXT_HEAD) + j*LANGUAGE_FONT_LEN;
}
else
{
line[4] = IDX_SPACE; //line数组4-7位置元素赋值IDX_SPACE
line[5] = IDX_SPACE;
line[6] = IDX_SPACE;
line[7] = IDX_SPACE;
}
Item_line.y = 2 + j; //成员变量赋值
osdi_draw_font(&Item_line); //osdi_draw_font调用
}
}
1、楼主的程序不完成,就看这些也不知道你的函数是干什么的
2、程序没有缩进,看着很累
3、都是基本的东西,楼主还要每句解释。。。