void GUI_Clear(void)
{
GUI_GotoXY(0,0); /* Reset text cursor to upper left */
GUI_ClearRect(GUI_XMIN, GUI_YMIN, GUI_XMAX, GUI_YMAX);
}
GUI_Init();
GUI_SetBkColor(GUI_BLACK);
GUI_Clear();
GUI_SetColor(GUI_WHITE);
GUI_SetFont(&GUI_Font8x16);
执行过这一段代码之后,GUI_Clear(); 函数并没有清整块屏只是绘制的图像下面才是背景色,其他位置并没有被清屏,我查找之后发现,在 GUI_Init函数中也有清屏函数,删掉之后并无影响,这是什么原因呢?
int GUI_Init(void) {
int r;
GUI_DEBUG_LOG("\nGUI_Init()");
/* Init system wide globals first */
GUI_DecChar = '.';
GUI_X_Init();
/* Init context */
_InitContext(&GUI_Context);
GUITASK_INIT();
r = LCD_Init();
#if GUI_WINSUPPORT
WM_Init();
#endif
GUITASK_COPY_CONTEXT();
#if defined(GUI_TRIAL_VERSION)
{
int i;
for (i = 0; i < 10; i++) {
GUI_DispString("This uC-GUI library\n"
"is for evaluation\n"
"purpose only.\n"
"A license is\n"
"required to use\n"
"it in a product\n\n"
"www.micrium.com\n");
GUI_GotoXY(0, 0);
}
}
GUI_Clear();
#endif
return r;
}
|