void pawait_event(
Pfloat timeout, /* time-out (seconds) */ Pint *ws_id, /* (out) workstation identifier */ Pin_class *class, /* (out) device class */ Pint *input_dev /* (out) logical input device number */
)
typedef enum {
PIN_NONE,
PIN_LOC,
PIN_STROKE,
PIN_VAL,
PIN_CHOICE,
PIN_PICK,
PIN_STRING
} Pin_class;
If the input queue is empty, GPHIGS waits until an event takes place or until the time-out expires. If the time-out expires without an event taking place, a NONE value is returned to the input device class. If there is at least one report in the queue, the oldest is removed from the queue and transferred to the PHIGS state list in the current event report. The workstation identifier, the class of input device and input device logical number are returned and the associated values are made available for interrogation by a function of type GET <input class>.
Note:
/* Get next event into the PHIGS event queue ; return without waiting if queue is empty */ Pfloat timeout; Pint ws_id,input_dev; Pin_class class; ...... timeout = 0.; pawait_event(timeout,&ws_id,&class,&input_dev); ......