bionic (3) do_arc.3alleg4.gz

Provided by: allegro4-doc_4.4.2-10_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)