al_draw_polyline(3)

NAME

al_draw_polyline - Allegro 5 API

SYNOPSIS

    #include <allegro5/allegro_primitives.h>
    void al_draw_polyline(const float* vertices, int vertex_stride,
       int vertex_count, int join_style, int cap_style,
       ALLEGRO_COLOR color, float thickness, float miter_limit)

DESCRIPTION

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(3) specifying how to render the joins between line segments

•   cap_style - Member of ALLEGRO_LINE_CAP(3) 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.

SINCE

5.1.0

SEE ALSO

al_draw_polygon(3), ALLEGRO_LINE_JOIN(3), ALLEGRO_LINE_CAP(3)