.\"## .\" $XConsortium: p116,v 5.3 94/04/17 20:55:45 hersh 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. .ds pN INQUIRE DEFAULT STROKE DEVICE DATA 3 .TH "\*(pN" 3P+ "16 August 1991" .\" .ds f \s-2INQUIRE DEFAULT STROKE DEVICE DATA 3\s+2 .\" .TH "INQUIRE DEFAULT STROKE DEVICE DATA 3" 3P "29 February 1991" .SH NAME INQUIRE DEFAULT STROKE DEVICE DATA 3 \- inquire the predefined stroke data .IX "Stroke Input Devices" "INQUIRE DEFAULT STROKE DEVICE DATA 3" .SH SYNOPSIS .SS C Syntax .ft B .ta 1.25i 3i .nf void pinq_def_stroke_data3 ( type, device, store, error_ind, max_buf_size, pets, echo_volume, stroke_data ) Pint type; \fIworkstation type\fP Pint device; \fIlogical input device number\fP Pstore store; \fIhandle to Store object\fP Pint *error_ind; \fIOUT error indicator\fP Pint *max_buf_size; \fIOUT max. input buffer size\fP Pint_list **pets; \fIOUT list of prompt and echo types\fP Plimit3 *echo_volume; \fIOUT default echo volume\fP Pstroke_data3 **stroke_data; \fIOUT default data record\fP .fi .ft R .SS Required PHIGS Operating States (PHOP, *, *, *) .SH DESCRIPTION .SS Purpose Use \s-2INQUIRE DEFAULT STROKE DEVICE DATA 3\s+2 to determine the following information for a \s-2STROKE\s+2 input device associated with a given workstation type: .RS .sp .3 \(bu Number and list of available prompt/echo types .sp .2 \(bu Default echo volume .sp .2 \(bu Default input data record .sp .2 \(bu Maximum stroke buffer size .fi .RE .LP Since the default prompt/echo type for all input devices is 1, the default input data record is for that prompt/echo type. There are no default input data records for prompt/echo types other than 1. .SS C Input Parameters .LP Applications using the \s-2C\s+2 binding must create a buffer to be used by this function as memory space for storing portions of the device data. This buffer is passed as the \fIstore\fP argument. .LP The store buffer is a data area managed by \s-2PHIGS\s+2. While the application is responsible for creating the initial buffer through a call to \s-2CREATE STORE\s+2, the implementation manages this area such that there is sufficient memory for the specific inquiry. The stroke device data record within the store buffer is accessed via the pointer pointed to by \fIstroke_data\fR. .IP \fItype\fP The workstation type with which the device is associated. .IP \fIdevice\fP The device number of the stroke device. See the \fIAvailable Devices\fP section of \s-2INITIALIZE STROKE 3\s+2 for a description of the available devices. .IP \fIstore\fP The memory buffer \s-2PHIGS\s+2 is to use for storing the information returned for the Pstroke_data3 structure. This memory is not used for the data returned in the Pint_list structure. This buffer must exist prior to calling this function (see \s-2CREATE STORE (3P)\s+2). .SS C Output Parameters .IP \fIerror_ind\fP The error indicator. See the \fIExecution\fP section below for a description of its use. See the \fIErrors\fP section below for the possible values it may return. .IP \fImax_buf_size\fP Maximum buffer size. .IP \fIpets\fP A pointer to the default prompt/echo types. Pint_list is defined in phigs.h as follows: .nf .ta .5i +1i +1.25i .sp .4 typedef struct { .sp .2 Pint num_ints; /* number of Pints in list */ Pint *ints; /* list of integers */ .sp .2 } Pint_list; .fi .IP The \fInum_ints\fR component specifies the number of elements in the list. The \fIints\fR component is a pointer to a list \fInum_ints\fR long. .IP The application must allocate memory for \fIlen\fR elements in the list of \fIints\fR. .IP \fIecho_volume\fP A pointer to a Plimit3 structure defining the \fIx\fP, \fIy\fP, and \fIz\fP components of the echo volume, in Device Coordinates. Plimit3 is defined in phigs.h as follows: .sp .4 .ta .5i +1i +1i .nf typedef struct { .sp .2 Pfloat x_min; /* minimum x coordinate value */ Pfloat x_max; /* maximum x coordinate value */ Pfloat y_min; /* minimum y coordinate value */ Pfloat y_max; /* maximum y coordinate value */ Pfloat z_min; /* minimum z coordinate value */ Pfloat z_max; /* maximum z coordinate value */ .sp .2 } Plimit3; .fi .IP \fIstroke_data\fP A pointer to a pointer to a Pstroke_data3 structure. Pstroke_data3 is defined in phigs.h as follows: .sp .4 .ta .5i +.5i +.5i +1.0i +1.0i .nf typedef struct { .sp .2 Pint buffer_size; /* input buffer size */ Pint init_pos; /* initial editing position */ Pfloat x_interval; /* x interval */ Pfloat y_interval; /* y interval */ Pfloat z_interval; /* z interval */ Pfloat time_interval; /* time interval */ union { struct { Pint unused; } pet_r1; struct { Pint unused; } pet_r2; struct { Pmarker_attrs marker_attrs; /* marker attributes */ } pet_r3; struct { Pline_attrs line_attrs; /* line attributes */ } pet_r4; } pets; .sp .2 } Pstroke_data3; .fi .SS Execution \s-2INQUIRE DEFAULT STROKE DEVICE DATA 3\s+2 returns the default data of the specified stroke device. This data is stored in the workstation description table associated with the workstation type. See \s-2INITIALIZE STROKE 3\s+2 for a description of the prompt/echo types, echo volume and data record contents and how to set these values. .LP In the event of an error, the \fIerror indicator\fP will indicate the error number of the error detected and no other output data will be returned. If no error is detected, the \fIerror indicator\fP will be set to zero and the inquired information will be available in the output parameters. Since this is an inquiry function, \s-2ERROR HANDLING\s+2 is not invoked when an error is detected by this function. .SH ERRORS .IP 002 Ignoring function, function requires state (\s-2PHOP, *, *, *\s+2) .IP 052 Ignoring function, workstation type not recognized by the implementation .IP 051 Ignoring function, this information is not yet available for this workstation type; open a workstation of this type and use the specific workstation type .IP 061 Ignoring function, specified workstation is neither of category \s-2INPUT\s+2 nor of category \s-2OUTIN\s+2 .IP 250 Ignoring function, the specified device is not available on the specified workstation .SH SEE ALSO .nf .IP .ta 0.5i .SM "INITIALIZE STROKE 3 (3P)" .SM "INQUIRE DEFAULT STROKE DEVICE DATA (3P)" .SM "CREATE STORE (3P)" .SM "DELETE STORE (3P)" .fi