gl_bcircle man page

gl_bcircle — draw a filled or unfilled Bresenham circle


#include <vgagl.h>

void gl_bcircle(int x, int y, int r, int c, int fill);


Draw a Bresenham circle of radius r in color c , centered at ( x ,  y ).

Fill should be 0 for a hollow circle, or any other value for a solid color.

This function differs from gl_circle (3) and gl_fillcircle (3) in that it looks good in 320 x 200 screen modes. The modified algorithm was provided by Chris Atenasio <>, and is based upon Bresenham's formula.

Note that the "circle" is technically an ellipse, and is actually wider than it is tall. Therefore, r is equal to the circle's height, but is less than its width. This distortion is necessary to accomodate the 8:5 aspect ratio (e.g., 320 x 200).

I don't recommend using this function in standard 4:3 screen modes (e.g., 640 x 480 and higher). Furthermore, care must be taken so that a circle drawn with this function isn't copied to a screen with a different aspect ratio. Otherwise, the result may be undesirable.

See Also

svgalib(7), vgagl(7), svgalib.conf(5), threedkit(7), testgl(1), plane(1), wrapdemo(1), gl_circle(3), gl_clearscreen(3), gl_colorfont(3), gl_disableclipping(3), gl_enableclipping(3), gl_fillbox(3), gl_fillcircle(3), gl_hline(3), gl_line(3), gl_setclippingwindow(3), gl_setpalette(3), gl_setpalettecolor(3), gl_setpalettecolors(3), gl_setpixel(3), gl_setpixelrgb(3), gl_setrgbpalette(3), gl_setwritemode(3).


This manual page was written by Jay Link <>.


4 Dec 1999 Svgalib (>= 1.4.1) Svgalib User Manual