




12.2 Features
The main features of graphics-ports are:
-
Each port has a "graphics state" which holds all the information about drawing parameters such as line thickness, fill pattern, line-end-style and so on. A graphics state object can also be created independently of any particular graphics port.
-
The graphics state contents can either be enumerated in each drawing function call, bound to values for the entirety of a set of calls, or permanently changed.
-
The graphics state includes a transform which implements generalized coordinate transformations on the port's coordinates.
-
Off-screen ports can compute the horizontal and vertical bounds of the results of a set of drawing function calls, thus facilitating image or pixmap generation.
LispWorks CAPI User Guide (Unix version) - 22 Dec 2009




