1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
.TH "al_draw_filled_polygon_with_holes" "3" "" "Allegro reference manual" ""
.SH NAME
.PP
al_draw_filled_polygon_with_holes \- Allegro 5 API
.SH SYNOPSIS
.IP
.nf
\f[C]
#include\ <allegro5/allegro_primitives.h>
void\ al_draw_filled_polygon_with_holes(const\ float\ *vertices,
\ \ \ const\ int\ *vertex_counts,\ ALLEGRO_COLOR\ color)
\f[]
.fi
.SH DESCRIPTION
.PP
Draws a filled simple polygon with zero or more other simple polygons
subtracted from it \- the holes.
The holes cannot touch or intersect with the outline of the filled
polygon.
.IP \[bu] 2
vertices \- Interleaved array of (x, y) vertex coordinates for each of
the polygons, including holes.
.IP \[bu] 2
vertex_counts \- Number of vertices for each polygon.
The number of vertices in the filled 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
color \- Color of the filled polygon
.PP
All hole vertices must use the opposite order (clockwise with y down) of
the polygon vertices.
All hole vertices must be inside the main polygon and no hole may
overlap the main polygon.
.PP
For example:
.IP
.nf
\f[C]
float\ vertices[]\ =\ {
\ \ \ \ \ \ 0,\ \ \ 0,\ //\ filled\ polygon,\ upper\ left\ corner
\ \ \ \ \ \ 0,\ 100,\ //\ filled\ polygon,\ lower\ left\ corner
\ \ \ \ 100,\ 100,\ //\ filled\ polygon,\ lower\ right\ corner
\ \ \ \ 100,\ \ \ 0,\ //\ filled\ polygon,\ upper\ right\ corner
\ \ \ \ \ 10,\ \ 10,\ //\ hole,\ upper\ left
\ \ \ \ \ 90,\ \ 10,\ //\ hole,\ upper\ right
\ \ \ \ \ 90,\ \ 90\ \ //\ hole,\ lower\ right
};
int\ vertex_counts[]\ =\ {
\ \ \ 4,\ //\ number\ of\ vertices\ for\ filled\ polygon
\ \ \ 3,\ //\ number\ of\ vertices\ for\ hole
\ \ \ 0\ \ //\ terminator
};
\f[]
.fi
.PP
There are 7 vertices: four for an outer square from (0, 0) to (100, 100)
in anti\-clockwise order, and three more for an inner triangle in
clockwise order.
The outer main polygon uses vertices 0 to 3 (inclusive) and the hole
uses vertices 4 to 6 (inclusive).
.SH SINCE
.PP
5.1.0
.SH SEE ALSO
.PP
al_draw_filled_polygon(3), al_draw_filled_polygon_with_holes(3),
al_triangulate_polygon(3)
|