void FillCircle(unsigned char x0, unsigned char y0, unsigned char radius, unsigned int color) { char f = 1 - radius; char ddF_x = 0; char ddF_y = -2 * radius; char x = 0; char y = radius; S65_DrawLine(x0,y0 - radius,x0,y0 + radius, color); S65_DrawLine(x0 - radius, y0, x0 + radius, y0, color); while(x < y) { if(f >= 0) { y--; ddF_y += 2; f += ddF_y; } x++; ddF_x += 2; f += ddF_x + 1; S65_DrawLine(x0 + x, y0 - y, x0 + x, y0 + y,color); S65_DrawLine(x0 + y, y0 - x, x0 + y, y0 +x,color); S65_DrawLine(x0 - x, y0 -y, x0 - x, y0 + y,color); S65_DrawLine(x0 - y, y0 -x, x0 - y, y0 + x,color); } }