[ Previous | Next | Contents | Glossary | Home | Search ]
GL3.2 for AIX: Graphics Library (GL) Technical Reference

qenter Subroutine

Purpose

Creates an event queue entry.

Libraries

Graphics Library

C (libgl.a)

FORTRAN (libfgl.a)

C Syntax

void qenter(Int16 qtype, Int16 value)

FORTRAN Syntax

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.

Description

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.

Parameters

qtype Specifies a number indicating the device making the queue entry.
value Specifies the value to be entered into the event queue.

Example

The example C language program scrn_rotate.c uses the qenter subroutine to enter a REDRAW device event into the queue.

Implementation Specifics

This subroutine is part of GL in the AIXwindows Environment/6000 Version 1, Release 2 with AIXwindows/3D Feature.

Files

/usr/include/gl/gl.h Contains C language constant and variable type definitions for GL.
/usr/include/gl/fgl.h Contains FORTRAN constant and variable type definitions for GL.
/usr/include/gl/device.h Contains C language constant and variable type definitions for GL.
/usr/include/gl/fdevice.h Contains FORTRAN constant and variable type definitions for GL.

Related Information

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.


[ Previous | Next | Contents | Glossary | Home | Search ]