Code C graphic LCD #4

// Purpose: Draw a circle on a graphic LCD
// Inputs: (x,y) – the center of the circle
// radius – the radius of the circle
// fill – YES or NO
// color – ON or OFF
#ifdef LARGE_LCD
void glcd_circle(int16 x, int16 y, int16 radius, int1 fill, int1 color)
void glcd_circle(int8 x, int8 y, int8 radius, int1 fill, int1 color)
#ifdef LARGE_LCD
signed int16 a, b, P;
signed int8 a, b, P;

a = 0;
b = radius;
P = 1 – radius;

glcd_line(x-a, y+b, x+a, y+b, color);
glcd_line(x-a, y-b, x+a, y-b, color);
glcd_line(x-b, y+a, x+b, y+a, color);
glcd_line(x-b, y-a, x+b, y-a, color);
glcd_pixel(a+x, b+y, color);
glcd_pixel(b+x, a+y, color);
glcd_pixel(x-a, b+y, color);
glcd_pixel(x-b, a+y, color);
glcd_pixel(b+x, y-a, color);
glcd_pixel(a+x, y-b, color);
glcd_pixel(x-a, y-b, color);
glcd_pixel(x-b, y-a, color);

if(P < 0)
P += 3 + 2 * a++;
P += 5 + 2 * (a++ – b–);
} while(a <= b);


Programming Click Now



Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

%d bloggers like this: