Provided by: allegro4-doc_4.4.2-13_all bug

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(3alleg4), do_ellipse(3alleg4), do_line(3alleg4), arc(3alleg4)