/**************************************************************************** * 名称:GUI_PutString8_8() * 功能:输出显示字符串((8*8字体,没有自动换行功能)。 * 入口参数: x 指定显示位置,x坐标 * y 指定显示位置,y坐标 * str 要显示的ASCII码字符串 * 出口参数:无 * 说明:操作失败原因是指定地址超出有效范围。 ****************************************************************************/ void GUI_PutString8_8(uint32 x, uint32 y, char *str) { while(1) { if( (*str)=='\0' ) break; if( GUI_PutChar8_8(x, y, *str++)==0 ) break; x += 6; // 下一个字符显示位置,y不变(即不换行) } }
void GUI_Printf(U8 ch) { #define AREA_NUM (1) #define AREA_WIDTH (1024/AREA_NUM) #define AREA_HEIGHT (600) if((lcd_x - (cur_area + 1)*AREA_WIDTH) > 0) { lcd_x = cur_area * AREA_WIDTH; lcd_y += 8; #if CLEAN_LINE guiCleanLine(lcd_y); #endif } if(lcd_y >= AREA_HEIGHT) { cur_area++; lcd_x = cur_area * AREA_WIDTH; lcd_y = 0; if(AREA_NUM == cur_area) { cur_area = 0; lcd_x = 0; lcd_y = 0; #if CLEAN_LINE guiCleanLine(lcd_y); #else GUI_Clean(); #endif } } if(ch == '\r') return; if(ch == '\n') { lcd_y += 8; lcd_x = cur_area * AREA_WIDTH; #if CLEAN_LINE guiCleanLine(lcd_y); #endif return; } GUI_PutChar8_8(lcd_x, lcd_y, ch); lcd_x += 7; }