FORTRAN (libfgl.a)
void qenter(Int16 qtype, Int16 value)
SUBROUTINE QENTER(qtype, value) INTEGER*4 qtype, value
Note: For FORTRAN users, this subroutine accepts long integer parameters (INTEGER*4) when started from a FORTRAN program, although it accepts short integers when started from a C program. The C and FORTRAN syntax shown here reflect this difference.
The qenter subroutine takes two 16-bit integers, the dev and val parameters, and enters them as an event in the event queue. There is no way to distinguish user-defined from system-defined entries unless disjointed sets of device numbers are used.
An event entered with the qenter subroutine cannot be distinguished from an event automatically generated by the system if the event type is equal to one of the predefined system event types. The system defines a large number of event types in the gl/device.h header file. In brief, types 0 through 0xfff are predefined by the system; types 0x1000 through 0x7fff are reserved for use by the user, while 0x8000 through 0xffff are reserved for future use by the system. Devices in these ranges are defined by the IsButton, IsValuator and other macros in the gl/device.h header file.
Events entered with the qenter subroutine are always placed in the event queue. These events are never filtered, whether or not the event type falls into the range predefined by the system, or reserved for the user. In other words, it is not necessary to use the qdevice subroutine prior to using the qenter subroutine.
When the qenter subroutine is used from a signal handler to enter an event into the GL queue, and the GL application is blocked on the qread subroutine, the qread subroutine cannot unblock. The qread subroutine can be unblocked by using the XSendEvent subroutine within the signal handler to send some arbitrary event (preferably, a ClientMessage event) to a window belonging to the application.
Note: This subroutine cannot be used to add to a display list.
qtype | Specifies a number indicating the device making the queue entry. |
value | Specifies the value to be entered into the event queue. |
The example C language program scrn_rotate.c uses the qenter subroutine to enter a REDRAW device event into the queue.
This subroutine is part of GL in the AIXwindows Environment/6000 Version 1, Release 2 with AIXwindows/3D Feature.
Reading the first entry in the event queue with the qread subroutine.
Emptying the event queue with the qreset subroutine.
Checking the contents of the event queue with the qtest subroutine.
AIX Graphics Library Overview and Controlling Queues and Devices.