Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

INQUIRE STROKE DEVICE STATE 3(3P)  —  Kubota Pacfic Computer Inc. (16 August 1991)

NAME

INQUIRE STROKE DEVICE STATE 3− inquire state of a stroke device

SYNOPSIS

C Syntax

void
pinq_stroke_st3( ws, dev, type, store, err, op_mode, echo_switch, init_view_ind,
    init_stroke, prompt_echo, echo_vol, stroke_data)
Pintws;workstation identifier
Pintdev;stroke device number
Pinq_typetype;type of returned value
Pstorestore;handle to Store object
Pint∗err;OUT error indicator
Pop_mode∗op_modeOUT operating mode
Pecho_switch∗echo_switch;OUT echo switch
Pint∗init_view_ind;OUT initial view indicator
Ppoint_list∗∗init_stroke;OUT initial stroke
Pint∗prompt_echo;OUT prompt/echo type
Plimit3∗echo_vol;OUT echo area
Pstroke_data3∗∗stroke_data;OUT data record

Required PHIGS Operating States

(PHOP, WSOP, ∗, ∗)

DESCRIPTION

Purpose

Use INQUIRE STROKE DEVICE STATE 3 to retrieve the current state of the specified stroke device. 

C Input Parameters

Applications using the C binding must create a buffer to be used by this function as memory space for storing data associated with the device state.  This buffer is passed as the store argument. 

The store buffer is a data area managed by PHIGS. While the application is responsible for creating the initial buffer through a call to CREATE STORE, PHIGS 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 stroke_data. 

wsWorkstation identifier. An integer specifying the workstation with which the specified stroke device is associated. 

devThe device number of the stroke device.  See the Available Devices section of INITIALIZE STROKE for a description of the available devices. 

typeAn enumerated value specifying whether the values to be returned are those originally specified by the application (PINQ_SET), or those resulting after PHIGS mapped them to ones available on the workstation (PINQ_REALIZED).  A Pinq_type structure is defined as:

typedef enum {
PINQ_SET,
PINQ_REALIZED
} Pinq_type;

storeThe memory buffer PHIGS is to use for storing the information returned.  This buffer must exist prior to calling this function (see CREATE STORE (3P)). 

C Output Parameters

errA pointer to the location to store the error number of any error detected by this function. 

op_mode
The operating mode. Pop_mode is an enumerated type defined in phigs.h with the following values:

typedef enum {
POP_REQ,
POP_SAMPLE,
POP_EVENT
} Pop_mode;

echo_switch
The echo state. Pecho_switch is an enumerated type defined in phigs.h with the following values:

typedef enum {
PSWITCH_NO_ECHO,
PSWITCH_ECHO
} Pecho_switch;

init_view_ind
Initial view indicator

init_stroke
A pointer to the initial stroke. Ppoint_list3 is defined in phigs.h as follows:

typdef struct {
Pintnum_points;/∗ number of Ppoint3s in the list ∗/
Ppoint3∗points;/∗ list of points ∗/
} Ppoint_list3;

Ppoint3 is defined in phigs.h as follows:

typdef struct {
Pfloatx;/∗ x coordinate ∗/
Pfloaty;/∗ x coordinate ∗/
Pfloatz;/∗ x coordinate ∗/
} Ppoint3;

prompt_echo
The prompt/echo type desired. See the Available Devices Section of INITIALIZE STROKE for a description of the available types. 

echo_vol
A pointer to a Plimit3 structure defining the x, y, and z components of the echo volume, in Device Coordinates.  Plimit3 is defined in phigs.h as follows:

typedef struct {
Pfloatx_min;/∗ minimum x coordinate value ∗/
Pfloatx_max;/∗ maximum x coordinate value ∗/
Pfloaty_min;/∗ minimum y coordinate value ∗/
Pfloaty_max;/∗ maximum y coordinate value ∗/
Pfloatz_min;/∗ minimum z coordinate value ∗/
Pfloatz_max;/∗ maximum z coordinate value ∗/
} Plimit3;

stroke_data
Pointer to a pointer that points to the stroke device state within store.  Pstroke_data3 is defined in phigs.h as follows:

typedef struct {
Pintbuffer_size;/∗ input buffer size ∗/
Pintinit_pos;/∗ initial editing position ∗/
Pfloatx_interval;/∗ x interval ∗/
Pfloaty_interval;/∗ y interval ∗/
Pfloatz_interval;/∗ z interval ∗/
Pfloattime_interval;/∗ time interval ∗/
union {
struct {
Pintunused;
} pet_r1;
struct {
Pintunused;
} pet_r2;
struct {
Pmarker_attrsmarker_attrs; /∗ marker attributes ∗/
} pet_r3;
struct {
Pline_attrsline_attrs;/∗ line attributes ∗/
} pet_r4;
} pets;
} Pstroke_data3;

Execution

INQUIRE STROKE DEVICE STATE 3 returns the current state of the specified stroke device, which is stored in the workstation state list of the workstation associated with the device.  The current state includes the operating mode, echo switch, initial stroke value, prompt/echo type, echo volume, and data record.  See SET STROKE MODE for a description of the operating mode and the echo switch, and how to set these values.  See INITIALIZE STROKE 3 for a description of the initial stroke value, prompt/echo type, echo volume, and data record contents, and how to set these values. 

In the event of an error, the error indicator indicates the error number of the error detected, and no other output data is returned.  If no error is detected, the error indicator is set to zero, and the inquired information will be available in the output parameters.  Since this is an inquiry function, ERROR HANDLING is not invoked when an error is detected by this function. 

ERRORS

003Ignoring function, function requires state (PHOP, WSOP, ∗, ∗)

054Ignoring function, the specified workstation is not open

061Ignoring function, specified workstation is neither of category INPUT nor of category OUTIN

250Ignoring function, the specified device is not available on the specified workstation

SEE ALSO

SET STROKE MODE (3P)
INITIALIZE STROKE (3P)
INQUIRE STROKE DEVICE STATE (3P)
CREATE STORE (3P)
DELETE STORE (3P)

September 02, 1992

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026