void DrawCircleOctant(
int x0, int y0,
int r,
int color
) {
int F(1 - r);
int ddF_x(0);
int ddF_y(-2*r);
int x(0);
int y(r);
SetPixel(x+x0, y+y0, color);
while ( x < y ) {
if (F >= 0) {
y -= 1; // south
ddF_y += 2;
F += ddF_y;
}
x += 1; // east
ddF_x += 2;
F += ddF_x + 1;
SetPixel(x+x0, y+y0, color);
}
}