voidgui_fill_circle(u16x0,u16y0,u16r,u16color)
{
u32i;
u32imax=((u32)r*707)/1000+1;
u32sqmax=(u32)r*(u32)r+(u32)r/2;
u32x=r;
gui_draw_hline(x0-r,y0,2*r,color);
for(i=1;i<=imax;i++)
{
if((i*i+x*x)>sqmax)//drawlinesfromoutside
{
if(x>imax)
{
gui_draw_hline(x0-i+1,y0+x,2*(i-1),color);
gui_draw_hline(x0-i+1,y0-x,2*(i-1),color);
}
x--;
}
//drawlinesfrominside(center)
gui_draw_hline(x0-x,y0+i,2*x,color);
gui_draw_hline(x0-x,y0-i,2*x,color);
}
}
//两个数之差的绝对值
//x1,x2:需取差值的两个数
//返回值:|x1-x2|
u16my_abs(u16x1,u16x2)
{
if(x1>x2)returnx1-x2;
elsereturnx2-x1;
}
//画一条粗线
//(x1,y1),(x2,y2):线条的起始坐标
//size:线条的粗细程度
//color:线条的颜色
voidlcd_draw