fullscrn Subroutine

Purpose

Libraries

C Syntax

FORTRAN Syntax

Description

The fullscrn subroutine allows drawing outside of the current window boundaries. It does so by disabling window clipping.

Note: When full-screen drawing is enabled, the user can draw all over other windows and other clients; therefore, this subroutine should be used with caution.

Normally, the fullscrn subroutine is used to draw user interface graphics into the overlay planes by calling drawmode(OVERDRAW).

This subroutine calls viewport(0,XMAXSCREEN,0,YMAXSCREEN). To draw outside the window boundaries, but in an area smaller than the full screen, use the viewport subroutine and/or the scrmask subroutine.

In addition to enabling drawing into the overlays, the fullscreen mode enables drawing into the main frame buffer--but this is strongly discouraged. It is recommended that you use the fullscreen mode only for rendering into the overlays--not for drawing into the principal frame buffer. The reason for this is that when fullscreen mode is exited, no GL REDRAW or X Exposure events are generated.

When fullscreen mode is exited, the overlay planes are not cleared. Therefore, if the overlay planes have been rendered into, they should be cleared as a matter of courtesy before the call to the endfullscrn subroutine.

If a window belonging to a process has overlays that have been explicitly disabled with the overlay and gconfig subroutines, the fullscrn subroutine call canot reenable overlays for that window. Therefore, when rendering into overlay planes while in fullscreen mode, the results of the rendering may not be visible if the drawing occurred over a window that has disabled overlays.

In the current implementation, all mouse motion and mouse button press events are redirected to the process that called the fullscrn subroutine. The redirection continues until the endfullscrn subroutine call is made. This redirection of input overrides the window manager focus policy.

If a second process enters fullscreen mode when another process is already in this mode, pointer motion and mouse button press events will not be grabbed for the second process.

If keyboard events are needed, use the XGrabKey and XGrabKeyboard subroutines.

Notes:

Using the fullscrn subroutine in an application makes that application not compliant with the Inter-Client Communication Conventions Manual (ICCCM). Compliance to ICCCM, although encouraged, is optional. For more information on ICCCM, refer to the AIXwindows documentation.