---
name: "al_calculate_ribbon"
section: "3"
platform: "linux"
package: "allegro"
version: "5.2.11.3-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/al_calculate_ribbon"
---

# al\_calculate\_ribbon(3)

Allegro 5 API

## NAME

al\_calculate\_ribbon - Allegro 5 API

## SYNOPSIS

-

  ```
  #include <allegro5/allegro_primitives.h>
  void al_calculate_ribbon(float* dest, int dest_stride, const float *points,
     int points_stride, float thickness, int num_segments)
  ```

## DESCRIPTION

Calculates a ribbon given an array of points. The ribbon will go through all of the passed points. If `thickness <= 0`, then `num_segments` of points are required in the destination buffer, otherwise twice as many are needed. The destination and the points buffer should consist of regularly spaced doublets of floats, corresponding to x and y coordinates of the vertices.

*Parameters:*

- •

  dest - Pointer to the destination buffer

- •

  dest\_stride - Distance (in bytes) between starts of successive pairs of coordinates in the destination buffer

- •

  points - An array of pairs of coordinates for each point

- •

  points\_stride - Distance (in bytes) between starts of successive pairs of coordinates in the points buffer

- •

  thickness - Thickness of the spline ribbon

- •

  num\_segments - The number of points to calculate

## SEE ALSO

[al\_draw\_ribbon(3)](/al_draw_ribbon/3.md), [al\_calculate\_arc(3)](/al_calculate_arc/3.md), [al\_calculate\_spline(3)](/al_calculate_spline/3.md)
