---
name: "al_draw_polyline"
section: "3alleg5"
platform: "linux"
package: "allegro5-doc"
version: "2:5.2.10.1+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/al_draw_polyline/3alleg5"
---

# al\_draw\_polyline(3alleg5)

Allegro 5 API

## 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(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.

## SINCE

5\.1.0

## SEE ALSO

al\_draw\_polygon(3alleg5), ALLEGRO\_LINE\_JOIN(3alleg5), ALLEGRO\_LINE\_CAP(3alleg5)
