File: al_draw_filled_polygon_with_holes.3

package info (click to toggle)
allegro5 2%3A5.2.2-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 23,032 kB
  • sloc: ansic: 120,340; cpp: 15,707; objc: 4,805; python: 2,915; java: 2,195; sh: 887; xml: 86; makefile: 49; perl: 37; pascal: 24
file content (70 lines) | stat: -rw-r--r-- 2,204 bytes parent folder | download
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)