al_draw_soft_line(3)al_draw_soft_line(3)NAMEal_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 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.
Allegro reference manualal_draw_soft_line(3)