1mlib_GraphicsFillPolygon(3MmLeIdBi)aLib Library Functmiloinbs_GraphicsFillPolygon(3MLIB)
2
3
4

NAME

6       mlib_GraphicsFillPolygon,   mlib_GraphicsFillPolygon_8,  mlib_Graphics‐
7       FillPolygon_32,  mlib_GraphicsFillPolygon_X_8,   mlib_GraphicsFillPoly‐
8       gon_X_32,  mlib_GraphicsFillPolygon_A_8, mlib_GraphicsFillPolygon_A_32,
9       mlib_GraphicsFillPolygon_B_8,            mlib_GraphicsFillPolygon_B_32,
10       mlib_GraphicsFillPolygon_G_8,            mlib_GraphicsFillPolygon_G_32,
11       mlib_GraphicsFillPolygon_Z_8,            mlib_GraphicsFillPolygon_Z_32,
12       mlib_GraphicsFillPolygon_AB_8,          mlib_GraphicsFillPolygon_AB_32,
13       mlib_GraphicsFillPolygon_ABG_8,        mlib_GraphicsFillPolygon_ABG_32,
14       mlib_GraphicsFillPolygon_ABGZ_8,      mlib_GraphicsFillPolygon_ABGZ_32,
15       mlib_GraphicsFillPolygon_ABZ_8,        mlib_GraphicsFillPolygon_ABZ_32,
16       mlib_GraphicsFillPolygon_AG_8,          mlib_GraphicsFillPolygon_AG_32,
17       mlib_GraphicsFillPolygon_AGZ_8,        mlib_GraphicsFillPolygon_AGZ_32,
18       mlib_GraphicsFillPolygon_AZ_8,          mlib_GraphicsFillPolygon_AZ_32,
19       mlib_GraphicsFillPolygon_BG_8,          mlib_GraphicsFillPolygon_BG_32,
20       mlib_GraphicsFillPolygon_BGZ_8,        mlib_GraphicsFillPolygon_BGZ_32,
21       mlib_GraphicsFillPolygon_BZ_8,          mlib_GraphicsFillPolygon_BZ_32,
22       mlib_GraphicsFillPolygon_GZ_8,  mlib_GraphicsFillPolygon_GZ_32  -  draw
23       filled polygon
24

SYNOPSIS

26       cc [ flag... ] file... -lmlib [ library... ]
27       #include <mlib.h>
28
29       mlib_status mlib_GraphicsFillPolygon_8(mlib_image *buffer,
30            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c);
31
32
33       mlib_status mlib_GraphicsFillPolygon_32(mlib_image *buffer,
34            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c);
35
36
37       mlib_status mlib_GraphicsFillPolygon_X_8(mlib_image *buffer,
38            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
39            mlib_s32 c, mlib_s32 c2);
40
41
42       mlib_status mlib_GraphicsFillPolygon_X_32(mlib_image *buffer,
43            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
44            mlib_s32 c, mlib_s32 c2);
45
46
47       mlib_status mlib_GraphicsFillPolygon_A_8(mlib_image *buffer,
48            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c);
49
50
51       mlib_status mlib_GraphicsFillPolygon_A_32(mlib_image *buffer,
52            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c);
53
54
55       mlib_status mlib_GraphicsFillPolygon_B_8(mlib_image *buffer,
56            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c,
57            mlib_s32 a);
58
59
60       mlib_status mlib_GraphicsFillPolygon_B_32(mlib_image *buffer,
61            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c,
62            mlib_s32 a);
63
64
65       mlib_status mlib_GraphicsFillPolygon_G_8(mlib_image *buffer,
66            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
67            const mlib_s32 *c);
68
69
70       mlib_status mlib_GraphicsFillPolygon_G_32(mlib_image *buffer,
71            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
72            const mlib_s32 *c);
73
74
75       mlib_status mlib_GraphicsFillPolygon_Z_8(mlib_image *buffer,
76            mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
77            const mlib_s16 *z, mlib_s32 npoints,
78            mlib_s32 c);
79
80
81       mlib_status mlib_GraphicsFillPolygon_Z_32(mlib_image *buffer,
82            mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
83            const mlib_s16 *z, mlib_s32 npoints,
84            mlib_s32 c);
85
86
87       mlib_status mlib_GraphicsFillPolygon_AB_8(mlib_image *buffer,
88            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c,
89            mlib_s32 a);
90
91
92       mlib_status mlib_GraphicsFillPolygon_AB_32(mlib_image *buffer,
93            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c,
94            mlib_s32 a);
95
96
97       mlib_status mlib_GraphicsFillPolygon_ABG_8(mlib_image *buffer,
98            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
99            const mlib_s32 *c, mlib_s32 a);
100
101
102       mlib_status mlib_GraphicsFillPolygon_ABG_32(mlib_image *buffer,
103            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
104            const mlib_s32 *c, mlib_s32 a);
105
106
107       mlib_status mlib_GraphicsFillPolygon_ABGZ_8(mlib_image *buffer,
108            mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
109            const mlib_s16 *z, mlib_s32 npoints, const mlib_s32 *c, mlib_s32 a);
110
111
112       mlib_status mlib_GraphicsFillPolygon_ABGZ_32(mlib_image *buffer,
113            mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
114            const mlib_s16 *z, mlib_s32 npoints, const mlib_s32 *c, mlib_s32 a);
115
116
117       mlib_status mlib_GraphicsFillPolygon_ABZ_8(mlib_image *buffer,
118            mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
119            const mlib_s16 *z, mlib_s32 npoints,
120            mlib_s32 c, mlib_s32 a);
121
122
123       mlib_status mlib_GraphicsFillPolygon_ABZ_32(mlib_image *buffer,
124            mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
125            const mlib_s16 *z, mlib_s32 npoints, mlib_s32 c, mlib_s32 a);
126
127
128       mlib_status mlib_GraphicsFillPolygon_AG_8(mlib_image *buffer,
129            const mlib_s16 *x, const mlib_s16 *y,
130            mlib_s32 npoints, const mlib_s32 *c);
131
132
133       mlib_status mlib_GraphicsFillPolygon_AG_32(mlib_image *buffer,
134            const mlib_s16 *x, const mlib_s16 *y,
135            mlib_s32 npoints, const mlib_s32 *c);
136
137
138       mlib_status mlib_GraphicsFillPolygon_AGZ_8(mlib_image *buffer,
139            mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
140            const mlib_s16 *z, mlib_s32 npoints, const mlib_s32 *c);
141
142
143       mlib_status mlib_GraphicsFillPolygon_AGZ_32(mlib_image *buffer,
144            mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
145            const mlib_s16 *z, mlib_s32 npoints, const mlib_s32 *c);
146
147
148       mlib_status mlib_GraphicsFillPolygon_AZ_8(mlib_image *buffer,
149            mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
150            const mlib_s16 *z, mlib_s32 npoints, mlib_s32 c);
151
152
153       mlib_status mlib_GraphicsFillPolygon_AZ_32(mlib_image *buffer,
154            mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
155            const mlib_s16 *z, mlib_s32 npoints, mlib_s32 c);
156
157
158       mlib_status mlib_GraphicsFillPolygon_BG_8(mlib_image *buffer,
159            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
160            const mlib_s32 *c, mlib_s32 a);
161
162
163       mlib_status mlib_GraphicsFillPolygon_BG_32(mlib_image *buffer,
164            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints,
165            const mlib_s32 *c, mlib_s32 a);
166
167
168       mlib_status mlib_GraphicsFillPolygon_BGZ_8(mlib_image *buffer,
169            mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
170            const mlib_s16 *z, mlib_s32 npoints,
171            const mlib_s32 *c, mlib_s32 a);
172
173
174       mlib_status mlib_GraphicsFillPolygon_BGZ_32(mlib_image *buffer,
175            mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
176            const mlib_s16 *z, mlib_s32 npoints, const mlib_s32 *c, mlib_s32 a);
177
178
179       mlib_status mlib_GraphicsFillPolygon_BZ_8(mlib_image *buffer,
180            mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
181            const mlib_s16 *z, mlib_s32 npoints,
182            mlib_s32 c, mlib_s32 a);
183
184
185       mlib_status mlib_GraphicsFillPolygon_BZ_32(mlib_image *buffer,
186            mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
187            const mlib_s16 *z, mlib_s32 npoints,
188            mlib_s32 c, mlib_s32 a);
189
190
191       mlib_status mlib_GraphicsFillPolygon_GZ_8(mlib_image *buffer,
192            mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
193            const mlib_s16 *z, mlib_s32 npoints,
194            const mlib_s32 *c);
195
196
197       mlib_status mlib_GraphicsFillPolygon_GZ_32(mlib_image *buffer,
198            mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y,
199            const mlib_s16 *z, mlib_s32 npoints,
200            const mlib_s32 *c);
201
202

DESCRIPTION

204       Each of the mlib_GraphicsFillPolygon_*() functions draws a filled poly‐
205       gon enclosing (x1,y1), (x2,y2), ..., and (xn,yn).
206
207
208       Each  of  the  mlib_GraphicsFillPolygon_X_*()  functions draws a filled
209       polygon in Xor mode as follows:
210
211             data[x,y] ^= c ^ c2
212
213
214
215       Each of the mlib_GraphicsFillPolygon_A_*()  functions  draws  a  filled
216       polygon with antialiasing.
217
218
219       Each  of  the  mlib_GraphicsFillPolygon_B_*()  functions draws a filled
220       polygon with alpha blending as follows:
221
222             data[x,y] = (data[x,y] * (255 - a) + c * a) / 255
223
224
225
226       Each of the mlib_GraphicsFillPolygon_G_*()  functions  draws  a  filled
227       polygon with Gouraud shading.
228
229
230       Each  of  the  mlib_GraphicsFillPolygon_Z_*()  functions draws a filled
231       polygon with Z buffering.
232
233
234       Each of the other functions draws a filled polygon with  a  combination
235       of  two  or  more  features  like antialiasing (A), alpha blending (B),
236       Gouraud shading (G), and Z buffering (Z).
237

PARAMETERS

239       Each of the functions takes some of the following arguments:
240
241       buffer     Pointer to the image into which the function is drawing.
242
243
244       zbuffer    Pointer to the image that holds the Z buffer.
245
246
247       x          Pointer to the array of X coordinates of the vertices.
248
249
250       y          Pointer to the array of Y coordinates of the vertices.
251
252
253       z          Pointer to the array of Z coordinates of the vertices.
254
255
256       npoints    Number of vertices in the arrays.
257
258
259       c          Color used in the drawing, or pointer to array of colors  of
260                  the points in the case of Gouraud shading.
261
262
263       c2         Alternation color.
264
265
266       a          Alpha value for blending. 0 ≤ a ≤ 255.
267
268

RETURN VALUES

270       Each  of the functions returns MLIB_SUCCESS if successful. Otherwise it
271       returns MLIB_FAILURE.
272

ATTRIBUTES

274       See attributes(5) for descriptions of the following attributes:
275
276
277
278
279       ┌─────────────────────────────┬─────────────────────────────┐
280       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
281       ├─────────────────────────────┼─────────────────────────────┤
282       │Interface Stability          │Committed                    │
283       ├─────────────────────────────┼─────────────────────────────┤
284       │MT-Level                     │MT-Safe                      │
285       └─────────────────────────────┴─────────────────────────────┘
286

SEE ALSO

288       mlib_GraphicsDrawPolygon(3MLIB), attributes(5)
289
290
291
292SunOS 5.11                        2 Mar 2007   mlib_GraphicsFillPolygon(3MLIB)
Impressum