The term display list is used to identify
the data structures and operations by which graphics commands and
data are organized and manipulated. A display list provides a means
of organizing and executing graphics commands.
Commands exist in Display List that allow you to define objects
in a realistic manner: hierarchically. A hierarchy is an arrangement
of entities in which entities can be defined in terms of other entities
that can be defined in terms of still others. For example: what's
a computer made out of? It may have a processor box, a keyboard,
a display, mass storage, and so forth. Well, what's the processor
box made out of? A chassis, a power supply, a cooling fan, several
printed-circuit boards, etc. But what's a PC board made of? The
board itself, several ICs, perhaps a jumper or two, and so forth.
If you stop and think about it, many things have a hierarchy
of structure, be it the physical design of an object, a government,
a mathematical proof, corporate management, or whatever.
Suppose you are writing an application that, in order to accomplish
its purpose, must be able to define, display, edit, store, and recall
graphics images. Depending on the size and complexity of your application,
the amount of code necessary to just manage the logistics of manipulating
the graphics model could far outweigh the "real" code. And unless
you've had quite a bit of experience writing graphics model managers,
you may be apprised of shortcomings and loopholes all too often,
as people stretch the capabilities of your ad hoc
code to the limit.
The set of tasks mentioned above — defining, displaying,
editing, storing, and recalling graphics images — is common,
almost universal, in such graphics programs. Wouldn't it be nice
if there were a functional, well-designed, high-performance, robust,
supported set of routines for just such a purpose?
Its presence would off-load the burden of designing such a package
from your shoulders, just as it would off-load the actual display
list tasks from your software.
And as soon as you see the power and convenience of using
a Display List, you'll probably say to yourself, "I wish I could
have two display lists at the same time...or
three...or seventeen"!
Multiple display lists can exist. A display list is associated
with each graphics output device, or you can create as many device-independent
display lists as you like by associating each with its own display
list device.