Provided by: allegro5-doc_5.2.9.1+dfsg-2_all bug

NAME

       al_draw_soft_line - Allegro 5 API

SYNOPSIS

              #include <allegro5/allegro_primitives.h>

              void al_draw_soft_line(ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, uintptr_t state,
                 void (*first)(uintptr_t, int, int, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*),
                 void (*step)(uintptr_t, int),
                 void (*draw)(uintptr_t, int, int))

DESCRIPTION

       Draws  a line using the software rasterizer and user supplied pixel functions.  For help in understanding
       what these functions do, see  the  implementation  of  the  various  shading  routines  in  addons/primi‐
       tives/line_soft.c.  The line is drawn top to bottom.

       Parameters:

       • v1, v2 - The two vertices of the line

       • state - A pointer to a user supplied struct, this struct will be passed to all the pixel functions

       • first - Called before drawing the first pixel of the line.  It is passed the coordinates of this pixel,
         as well as the two vertices above.  The passed vertices may have been altered by clipping.

       • step  -  Called once per pixel.  The second parameter is set to 1 if the step is a minor step, and 0 if
         this step is a major step.  Minor steps are taken only either in x or y directions.   Major  steps  are
         taken  in  both directions diagonally.  In all cases, the absolute value of the change in coordinate is
         at most 1 in either direction.

       • draw - Called once per pixel.  The function is expected to draw the pixel at the coordinates passed  to
         it.

SEE ALSO

       al_draw_line(3alleg5)

Allegro reference manual                                                              al_draw_soft_line(3alleg5)