[Previous] [Contents] [Index] [Next]

Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

Introduction to Graphics Drivers

This chapter includes:

Graphics drivers

The graphics drivers are independent of the Photon microGUI; the driver that you supply is implemented as one or more shared objects (your choice) that can be used by Photon or by any other application requiring the services of a graphics driver.

You provide a set of well defined entry points, and the appropriate graphics system dynamically loads your driver and calls the entry points.

By way of example, this is how your driver interacts with Photon and the graphics driver subsystem, io-graphics, under QNX Neutrino:


Driver interaction with Photon.


How a driver interacts with Photon.


As you can see from the above diagram, a set of Photon infrastructure components are responsible for the interface to Photon:

Connector
Presents the graphical region to Photon. This is the area that's defined to be shown on the graphical screen.
Draw stream interpreter
Interprets Photon's draw stream and decodes the graphical commands into scans, bitmaps, images, and fills, and passes them to the graphics driver. The interpreter also converts the draw stream from whatever endian format it's in to native-endian format.
Render library
Converts complex shapes (such as circles) into lower-level drawing primitives (scans, bitmaps, images, and fills) that the graphics driver can handle.
Font manager
Converts textual information into bitmaps.
Rasterizer (FFB)
Converts lower-level drawing primitives into a raster format, using the Flat Frame Buffer (FFB) library.
Graphics driver
Your graphics driver, supplied as one or more shared objects.

[Previous] [Contents] [Index] [Next]