.\" @(#)PEXChangePickDevice.3 1.5 95/03/24 SMI; .so man3/pex.macs .TH PEXChangePickDevice 3 "May 1995" "Solaris PEXlib Reference Manual" "" .SH NAME PEXChangePickDevice \- Change Pick Device Attributes .SH SYNTAX .HP void PEXChangePickDevice\^(\^Display *\fIdisplay\fP\^, PEXWorkstation \fIworkstation\fP\^, int \fIpick_device_type\fP\^, unsigned long \fIvalue_mask\fP\^, PEXPDAttributes *\fIvalues\fP\^) .SH PARAMETERS .TP 1i \fIdisplay\fP A pointer to a display structure returned by a successful .B XOpenDisplay call. .TP \fIworkstation\fP The resource identifier of the workstation. .TP \fIpick_device_type\fP The pick device type ( .B PEXPickDeviceDCHitBox or .B PEXPickDeviceNPCHitVolume ). .TP \fIvalue_mask\fP A mask indicating which attributes to return. .TP \fIvalues\fP A pointer to the pick device attribute values. .SH RETURNS None .SH DESCRIPTION .\" indexing .IX PEXChangePickDevice .IX "Picking" "PEXChangePickDevice" .LP This function will modify the attributes of a pick descriptor for the PHIGS .I workstation resource specified. The descriptor to be modified will be the currently-defined descriptor for the pick device of the type specified. Supported pick device types are inquirable via .BR PEXGetEnumTypeInfo (3) . The value mask indicates which attributes are to be changed. The value mask is constructed by OR'ing together the following constants: .nf .RS .B PEXPDPickStatus .B PEXPDPickPath .B PEXPDPickPathOrder .B PEXPDPickIncl .B PEXPDPickExcl .B PEXPDPickDataRec .B PEXPDPromptEchoType .B PEXPDEchoVolume .B PEXPDEchoSwitch .RE .fi .SH DATA STRUCTURES .LP .nf typedef XID PEXWorkstation; .sp typedef struct { unsigned short status; PEXPickPath path; int path_order; PEXNameSet inclusion; PEXNameSet exclusion; PEXPickRecord pick_record; PEXEnumTypeIndex prompt_echo_type; PEXViewport echo_volume; int echo_switch; .br } PEXPDAttributes; .sp typedef struct { unsigned long count; /* number of elements */ PEXPickElementRef *elements; .br } PEXPickPath; .sp typedef struct { PEXStructure sid; unsigned long offset; unsigned long pick_id; .br } PEXPickElementRef; .sp typedef XID PEXStructure; .sp typedef XID PEXNameSet; .sp typedef union { PEXPDNPCHitVolume volume; PEXPDDCHitBox box; PEXPickDataRecord data; .br } PEXPickRecord; .sp typedef PEXNPCSubVolume PEXPDNPCHitVolume; .sp typedef struct { PEXCoord min; PEXCoord max; .br } PEXNPCSubVolume; .sp typedef struct { float x; float y; float z; .br } PEXCoord; .sp typedef struct { PEXDeviceCoord2D position; float distance; .br } PEXPDDCHitBox; .sp typedef struct { short x; short y; .br } PEXDeviceCoord2D; .sp typedef struct { unsigned short length; /* number of bytes in record */ char *record; .br } PEXPickDataRecord; .sp typedef short PEXEnumTypeIndex; .sp typedef struct { PEXDeviceCoord min; PEXDeviceCoord max; PEXSwitch use_drawable; unsigned char reserved[3]; .br } PEXViewport; .sp typedef struct { short x; short y; float z; .br } PEXDeviceCoord; .sp typedef unsigned char PEXSwitch; .fi .SH ERRORS .TP .SB BadPEXNameSet The specified name set resource identifier is invalid. .TP .SB BadPEXPath The specified path is invalid. .TP .SB BadPEXWorkstation The specified .I workstation resource identifier is invalid. .TP .SB BadValue The specified pick device type is invalid, a specified value is invalid, or an invalid bit set in the value mask. .SH SEE ALSO .LP .nf .BR PEXGetPickDevice (3) .BR PEXGetEnumTypeInfo (3) .fi