[ Previous | Next | Contents | Glossary | Home | Search ]
AIX Version 4.3 AIXwindows Programming Guide

Graphical Overlay Planes

Graphical overlay planes are made up of additional memory positioned logically on top of the frame buffer (thus the name overlay). Typically, graphics applications would use this extra hardware for creating windows that would not disturb the contents of existing windows in the frame buffer.

The primary goals for implementing this feature are:

At X server startup/reset time, the following property is created on the root window of any screen that has overlay capabilities:

property_name:  SERVER_OVERLAY_VISUALS
property_type:  SERVER_OVERLAY_VISUALS
format:         32

The contents of the property is a list of each visual that resides in the overlays. Each element of the list contains information in the following format:

SERVER_OVERLAY_VISUALS {
        overlay_visual:          VISUALID
        transparent_type:        {None, TransparentPixel,
                                 TransparentMask}
        value:                   CARD32
        layer:                   CARD32
    }

Visuals in layer 0 (zero) are nonoverlay visuals, and would not appear in the list. Overlay visuals start in layer 1 (one). (See the -layer flag of the X command for information concerning how to specify the default visual.)

Drawing into a window created with an overlay visual (an overlay window) does not disturb the contents of windows in layers different from the layer containing the overlay window. Additionally, there is a set (perhaps empty) of transparent pixel values such that when written into an overlay window, pixels of windows in the next lower-numbered layer show through. If these pixel values also happen to be transparent, the process is applied until a window containing a nontransparent pixel value is found. Since visuals in layer 0 are not displayed in the list, they cannot have any transparent pixel values. The transparent_type and value fields specify the set of transparent pixel values as follows:

transparent_type Meaning of Value Field
0 - None Ignore the value field; there are no transparent pixels.
1 - TransparentPixel The value field explicitly names a transparent pixel.
2 - TransparentMask Any pixel value that has at least the same bits on as the value field is transparent. A pixel is transparent if and only if (value & pixel) == value.

The same overlay_visual element may appear more than once in the list. If it does:

GXT_OVERLAYS

On the GXT150 and GXT155 families of graphics adapters (except for the GXT150M), the GXT_OVERLAYS environment variable must be set to a value of TRUE to enable 4-bit overlays.


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