# al_calculate_spline man page

al_calculate_spline — Allegro 5 API

## Synopsis

`#include <allegro5/allegro_primitives.h> void al_calculate_spline(float* dest, int stride, float points[8], float thickness, int num_segments)`

## Description

Calculates a Bézier spline given 4 control points. If `thickness <= 0`

, then `num_segments`

of points are required in the destination, otherwise twice as many are needed. The destination buffer should consist of regularly spaced (by distance of stride bytes) doublets of floats, corresponding to x and y coordinates of the vertices.

*Parameters:*

- ·
- dest - The destination buffer
- ·
- stride - Distance (in bytes) between starts of successive pairs of coordinates
- ·
- points - An array of 4 pairs of coordinates of the 4 control points
- ·
- thickness - Thickness of the spline ribbon
- ·
- num_segments - The number of points to calculate

## See Also

al_draw_spline(3), al_calculate_arc(3), al_calculate_ribbon(3)

## Referenced By

al_calculate_arc(3), al_calculate_ribbon(3), al_draw_spline(3).