不是的我的是这样改写的:
/*********************************************************************
*
* LCD_L0_FillRect
*/
void LCD_L0_FillRect(int x0, int y0, int x1, int y1)
{
// for (; y0 <= y1; y0++)
// {
// LCD_L0_DrawHLine(x0, y0, x1);//LCD_COLORINDEX
// }
//改进后
if (GUI_Context.DrawMode & LCD_DRAWMODE_XOR)
{
LCD_SetPos(x0,x1,y0,y1);
for (; y0 <= y1; y0++)
{
for (; x0 <= x1; x0++)
LCD_L0_XorPixel(x0, y0);
}
}
else
{
LCD_SetPos(x0,x1,y0,y1);
for (; y0 <= y1; y0++)
{
for (; x0 <= x1; x0++)
Write_Data_U16(LCD_COLORINDEX);
}
}
}
设定一个窗口,再填充,没错。
楼主应该只是用到我else里的语句吧,再看一下我的if里的程序
不是的我的是这样改写的:
/*********************************************************************
*
* LCD_L0_FillRect
*/
void LCD_L0_FillRect(int x0, int y0, int x1, int y1)
{
// for (; y0 <= y1; y0++)
// {
// LCD_L0_DrawHLine(x0, y0, x1);//LCD_COLORINDEX
// }
//改进后
if (GUI_Context.DrawMode & LCD_DRAWMODE_XOR)
{
LCD_SetPos(x0,x1,y0,y1);
for (; y0 <= y1; y0++)
{
for (; x0 <= x1; x0++)
LCD_L0_XorPixel(x0, y0);
}
}
else
{
LCD_SetPos(x0,x1,y0,y1);
for (; y0 <= y1; y0++)
{
for (; x0 <= x1; x0++)
Write_Data_U16(LCD_COLORINDEX);
}
}
}
设定一个窗口,再填充,没错。
楼主应该只是用到我else里的语句吧,再看一下我的if里的程序
举报