Caution: This version of this document is no longer maintained. For the latest documentation, see


A stream of bytes that represent an image, where each bit represents an “on” (foreground color) or “off” (background color) pixel. The bitmap's stride is the number of bytes per line.
An efficient way to copy an entire area of memory to another. Blitting from an offscreen context to an onscreen context can reduce the appearance of flicker as a scene is rendered, compared to rendering directly to an onscreen context.
A structure that maintains draw attributes between function calls.
Any graphics hardware. Also called an adaptor.
Any graphics display. Some devices support more than one display.
An abbreviation for Display Power Management Signaling, a standard for graphics devices to control the power mode of the monitor during periods of inactivity. Lower power modes conserve power and extend the life of the display.
The Inter-IC bus (“I squared C”). A control bus that provides the communications link between integrated circuits in a system. The simple two-wire bus and software-defined protocol was designed by Philips, and has become a common standard. The GF library provides an API for reading and writing to an I2C bus on a graphics device.
A surface displayed by a device. A device may support multiple layers. In the GF, you can assume a device has at least one layer, whether or not the hardware supports layering. Layers are numbered starting at 0, which is furthest from the viewer. Layers are combined for alpha blending and/or chroma keying.
offscreen memory
A surface that isn't displayed on a device. This memory can be in system RAM or in video memory, and is usually used to implement double buffering. This is a technique of rendering to offscreen memory, and then blitting the rendered image into an onscreen (displayed) surface, which reduces flickering and other rendering artifacts.
A horizontal run of pixels with fixed height of one pixel.
The byte offset from the start of one line of bitmap data to the next.
A surface is an area of memory. You can draw on a surface, blit to a surface, and so on. A surface may be “visible” (onscreen) or offscreen; the GF API does not make a distinction.
Applies to 3D support. A 3D target is a handle created via the GF API that can render OpenGL ES.