.\"##
.\" $XConsortium: p062,v 5.2 94/04/17 20:54:59 rws Exp $
.\"##
.\"## 
$XMCOPY
.\"## Copyright (c) 1990, 1991 by Sun Microsystems, Inc. 
.\"## 
.\"##                         All Rights Reserved
.\"## 
.\"## Permission to use, copy, modify, and distribute this software and its 
.\"## documentation 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 appear in 
.\"## supporting documentation, and that the name of Sun Microsystems,
.\"## not be used in advertising or publicity 
.\"## pertaining to distribution of the software without specific, written 
.\"## prior permission.  
.\"## 
.\"## SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 
.\"## INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
.\"## EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
.\"## CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
.\"## USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
.\"## OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\"## PERFORMANCE OF THIS SOFTWARE.
.TH "GENERALIZED DRAWING PRIMITIVE" 3P "29 February 1991"
.SH NAME
GENERALIZED DRAWING PRIMITIVE \- create \s-2\&2D GDP\s+2 elements 
.IX "Special Primitives" "GENERALIZED DRAWING PRIMITIVE"
.IX "Generalized Drawing Primitives" "GENERALIZED DRAWING PRIMITIVE"
.IX "Primitives, Special Primitives" "GENERALIZED DRAWING PRIMITIVE"
.IX "Implementation-Specific Functions" "GENERALIZED DRAWING PRIMITIVE"
.IX "Elements" "GENERALIZED DRAWING PRIMITIVE"
.SH SYNOPSIS
.SS C Syntax
.ft B
.ta 1.25i 3i
.nf
void
pgdp ( point_list, gdp_id, gdp_data )
Ppoint_list	*point_list;	\fIarray of points\fP
Pint	gdp_id;	\fIgdp function identifier\fP
Pgdp_data	*gdp_data;	\fIdata record pointer\fP
.fi
.ft R
.SS Required PHIGS Operating States
(PHOP, *, STOP, *)
.SH DESCRIPTION
.SS Purpose
\s-2GENERALIZED DRAWING PRIMITIVE\s+2 creates an implementation dependent
drawing primitive. There are no \s-2GDP\s+2s implemented in the \s-2PEX-SI\s+2
graphics library.
.SS C Input Parameters
.IP \fIpoint_list\fP
A pointer to a structure containing a list of \fIx\fP and \fIy\fP values
in Modelling Coordinates (MC).
Ppoint_list is defined in phigs.h as:
.nf
.ta .5i +\w'Ppoint	'u +\w'num_points;	'u
.sp .4
typedef struct {
.sp .2
	Pint	num_points;	/* number of Ppoints in the list */
	Ppoint	*points;	/* list of points */
.sp .2
} Ppoint;
.fi
.IP
Ppoint is defined in phigs.h as follows:
.nf
.ta .5i +\w'Pfloat	'u +\w'x;	'u
.sp .4
typedef struct {
.sp .2
	Pfloat	x;	/* x coordinate */
	Pfloat	y;	/* y coordinate */
.sp .2
} Ppoint;
.fi
.IP \fIgdp_id\fP
The identifier of the \s-2GENERALIZED DRAWING PRIMITIVE\s+2 to insert.
There are no predefined \s-2GDP\s+2s.
.IP \fIgdp_data\fP
A pointer to a Pgdp_data union containing the information needed
to perform the function specified by \fIgdp_id\fP.
Pgdp_data is defined in phigs.h as:
.nf
.ta .5i +.5i +.75i
.sp .2
typdef union {
.sp .2
	struct {
		Pint	unused;
	}gdp_r1;
	Pdata	unsupp;	/* unsupported \s-2GDP\s+2 data record */
.sp .2
} Pgdp_data;		/* implementation dependent */
.fi
.IP
Pdata is defined in phigs.h as:
.nf
.ta .5i +.5i +.75i
.sp .2
typdef struct {
.sp .2
	size_t	size;	/* size of data */
	char	*data;	/* pointer to data */
.sp .2
} Pdata;
.sp .2
.fi
.SH Execution
.LP
If the current edit mode is \s-2INSERT\s+2, the structure element 
created by the \s-2GENERALIZED DRAWING PRIMITIVE\s+2 function is 
inserted into the open structure after the element pointed to by the 
element pointer. If the current edit mode is \s-2REPLACE\s+2, the 
\s-2GENERALIZED DRAWING PRIMITIVE\s+2 element replaces the element 
pointed to by the element pointer. In either case, the element pointer 
is updated to point to the new structure element. 
.LP
Support for \s-2GDP\s+2s is implementation and workstation dependent. 
.SH ERRORS
.IP 005
Ignoring function, function requires state (\s-2PHOP, *, STOP, *\s+2)
