do_arc
Section: Allegro manual (3)
Updated: version 4.2.2
Index
Return to Main Contents
NAME
do_arc - Calculates all the points in a circular arc. Allegro game programming library.
SYNOPSIS
#include <allegro.h>
void do_arc(BITMAP *bmp, int x, int y, fixed a1, fixed a2, int r, int d,
void (*proc)(BITMAP *bmp, int x, int y, int d));
DESCRIPTION
Calculates all the points in a circular arc around point (x, y) with
radius r, 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(). The arc will be
plotted in an anticlockwise direction starting from the angle a1 and
ending when it reaches a2. These values are specified in 16.16 fixed
point format, with 256 equal to a full circle, 64 a right angle, etc.
Zero is to the right of the centre point, and larger values rotate
anticlockwise from there. Example:
void draw_explosion_ring(BITMAP *bmp, int x, int y, int d)
{
...
}
do_arc(screen, SCREEN_W/2, SCREEN_H/2,
itofix(-21), itofix(43), 50, flame_color,
draw_explosion_ring);
SEE ALSO
do_circle(3),
do_ellipse(3),
do_line(3),
arc(3)