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


       do_arc - Calculates all the points in a circular arc. Allegro game programming library.


       #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));


       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,


       do_circle(3alleg4), do_ellipse(3alleg4), do_line(3alleg4), arc(3alleg4)