61 lines
2.3 KiB
C
61 lines
2.3 KiB
C
#ifndef lint
|
|
static char sccsid[] = "@(#)polygonsubs.c 1.1 94/10/31 Copyr 1985-9 Sun Micro";
|
|
#endif
|
|
|
|
/*
|
|
* Copyright (c) 1985, 1986, 1987, 1988, 1989 by Sun Microsystems, Inc.
|
|
* Permission to use, copy, modify, and distribute this software for any
|
|
* purpose and without fee is hereby granted, provided that the above
|
|
* copyright notice appear in all copies and that both that copyright
|
|
* notice and this permission notice are retained, and that the name
|
|
* of Sun Microsystems, Inc., not be used in advertising or publicity
|
|
* pertaining to this software without specific, written prior permission.
|
|
* Sun Microsystems, Inc., makes no representations about the suitability
|
|
* of this software or the interface defined in this software for any
|
|
* purpose. It is provided "as is" without express or implied warranty.
|
|
*/
|
|
/*
|
|
* CGI polygon functions
|
|
*/
|
|
|
|
#include "cgipriv.h"
|
|
|
|
View_surface *_cgi_vws; /* current view surface */
|
|
Outatt *_cgi_att; /* structure containing current attributes */
|
|
int _cgi_pix_mode; /* pixrect equivalent of drawing mode */
|
|
Pixrect *_cgi_pattern();
|
|
|
|
/****************************************************************************/
|
|
/* */
|
|
/* FUNCTION: _cgi_cpw_poly2 */
|
|
/* */
|
|
/* draws filled polygon with screen coords */
|
|
/****************************************************************************/
|
|
/* ARGSUSED WCL: npts unused */
|
|
_cgi_cpw_poly2(vlist, npts, patindex, flag, bounds, npt, patflag)
|
|
Ccoor *vlist; /* vertices themselves (screen coords) */
|
|
short npts; /* number of vertices total */
|
|
/* ## warning: argument npts unused in function _cgi_cpw_poly2 */
|
|
int patindex;
|
|
int flag;
|
|
int bounds; /* number of boundries */
|
|
int *npt; /* array: number of vertices in boundry i */
|
|
short patflag;
|
|
{
|
|
int fillop;
|
|
Pixrect *patrect;
|
|
|
|
fillop = PIX_COLOR(_cgi_att->fill.color) | _cgi_pix_mode;
|
|
if (patflag)
|
|
{
|
|
patrect = _cgi_pattern(patindex, flag);
|
|
}
|
|
else
|
|
patrect = (Pixrect *) 0;;
|
|
pw_polygon_2(_cgi_vws->sunview.pw, 0, 0, bounds, npt,
|
|
(struct pr_pos *) vlist, fillop,
|
|
patrect, 0, 0);
|
|
if (patrect)
|
|
(void) pr_destroy(patrect);
|
|
}
|