Draw a series of line segments.
• vertices - Interleaved array of (x, y) vertex coordinates
• vertex_stride - the number of bytes between pairs of vertices (the stride)
• vertex_count - Number of vertices in the array
• join_style - Member of ALLEGRO_LINE_JOIN(3alleg5) specifying how to render the joins between line
segments
• cap_style - Member of ALLEGRO_LINE_CAP(3alleg5) specifying how to render the end caps
• color - Color of the line
• thickness - Thickness of the line, pass <= 0 to draw hairline lines
• miter_limit - Parameter for miter join style
The stride is normally 2 * sizeof(float) but may be more if the vertex coordinates are in an array of
some structure type, e.g.
struct VertexInfo {
float x;
float y;
int id;
};
void my_draw(struct VertexInfo verts[], int vertex_count, ALLEGRO_COLOR c)
{
al_draw_polyline((float *)verts, sizeof(VertexInfo), vertex_count,
ALLEGRO_LINE_JOIN_NONE, ALLEGRO_LINE_CAP_NONE, c, 1.0, 1.0);
}
The stride may also be negative if the vertices are stored in reverse order.