SYNOPSIS

#include <allegro.h>

void do_line(BITMAP *bmp, int x1, y1, x2, y2, int d, void (*proc)(BITMAP *bmp, int x, int y, int d));

DESCRIPTION

Calculates all the points along a line from point (x1, y1) to (x2, y2), 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(). Example:

   void draw_dust_particle(BITMAP *bmp, int x, int y, int d)
   {
      ...
   }

      do_line(screen, 0, 0, SCREEN_W-1, SCREEN_H-2,
              dust_strength, draw_dust_particle);

RELATED TO do_line…

do_circle(3alleg4), do_ellipse(3alleg4), do_arc(3alleg4), line(3alleg4)