Screens/Areas

Screen:
A screen or sprite to which graphics output is going.

Area:
A shape through which graphics output is going.

A screen has a stack of areas.

An area may contain a stack of areas itself.

An area may be transparent, which means that sections of areas behind it
must be redrawn before that area is redrawn in order that that area be
valid.

The area operations should allow the Wimp to be entirely based upon areas.

How should the areas handler communicate the need for an area to be redrawn?
(This is easy under a message based system).

The areas handler has to be tightly bound to all other graphics operations.
This suggests that the graphics subsystem should be one unit which chews
upon screens (which are passed to it) and manages the graphics part.

Should hardware scrolling remain a supported feature?

