Calculates all the points in an ellipse. allegro game programming library.
#include <allegro.h>
void do_ellipse(BITMAP *bmp, int x, int y, int rx, ry, int d, void (*proc)(BITMAP *bmp, int x, int y, int d));
Calculates all the points in an ellipse around point (x, y) with radius rx and ry, calling the supplied function for each one. This will be passed a copy of the bmp parameter, the x and y position, and a copy of the d parameter, so it is suitable for use with putpixel(). Example:
void draw_explosion_ring(BITMAP *bmp, int x, int y, int d) { ... } do_ellipse(screen, SCREEN_W/2, SCREEN_H/2, SCREEN_H/16, SCREEN_H/32, flame_color, draw_explosion_ring);
do_circle(3alleg4), do_arc(3alleg4), do_line(3alleg4), ellipse(3alleg4), ellipsefill(3alleg4)