.\" Automatically generated by Pandoc 2.2.1 .\" .TH "al_triangulate_polygon" "3alleg5" "" "Allegro reference manual" "" .hy .SH NAME .PP al_triangulate_polygon \- Allegro 5 API .SH SYNOPSIS .IP .nf \f[C] #include\ bool\ al_triangulate_polygon( \ \ \ const\ float*\ vertices,\ size_t\ vertex_stride,\ const\ int*\ vertex_counts, \ \ \ void\ (*emit_triangle)(int,\ int,\ int,\ void*),\ void*\ userdata) \f[] .fi .SH DESCRIPTION .PP Divides a simple polygon into triangles, with zero or more other simple polygons subtracted from it \- the holes. The holes cannot touch or intersect with the outline of the main polygon. Simple means the polygon does not have to be convex but must not be self\-overlapping. .PP \f[I]Parameters:\f[] .IP \[bu] 2 vertices \- Interleaved array of (x, y) vertex coordinates for each of the polygons, including holes. .IP \[bu] 2 vertex_stride \- distance (in bytes) between successive pairs of vertices in the array. .IP \[bu] 2 vertex_counts \- Number of vertices for each polygon. The number of vertices in the main polygon is given by vertex_counts[0] and must be at least three. Subsequent elements indicate the number of vertices in each hole. The array must be terminated with an element with value zero. .IP \[bu] 2 emit_triangle \- a function to be called for every set of three points that form a triangle. The function is passed the indices of the points in \f[C]vertices\f[] and \f[C]userdata\f[]. .IP \[bu] 2 userdata \- arbitrary data to be passed to emit_triangle. .SH SINCE .PP 5.1.0 .SH SEE ALSO .PP al_draw_filled_polygon_with_holes(3alleg5)