Man Linux: Main Page and Category List

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