Blast-Radius Aware AI Code Review for Business-Critical Systems
LiveReview LiveReview Explore LiveReview

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

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

Name

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

See Also

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

Allegro                                           version 4.4.3                                  do_arc(3alleg4)

Synopsis

#include<allegro.h>voiddo_arc(BITMAP*bmp,intx,inty,fixeda1,fixeda2,intr,intd,void(*proc)(BITMAP*bmp,intx,inty,intd));

See Also