The graphics-state object associated with each port holds values for the following parameters:
| ||
|
An object which determines the coordinate transformation applying to the graphics port. The default value leaves the port coordinates unchanged from those used by the host window system -- origin at top left, X increasing to the right and Y increasing down the screen. Graphics state transforms describes these objects.
Determines the foreground color used in drawing functions. A color can be a pixel value, a color name symbol, a color name string or a color object. Using pixel values results in better performance.
Determines the background color used in drawing functions which use a stipple. Valid values are the same as for foreground
.
The combination function used in the drawing primitives. Valid values are 0 to 15, being the same logical values as the op arg to the Common Lisp function boole
(CLtL2).
A 1-bit pixmap ("bitmap") or nil
. The bitmap is used in conjunction with the fill-style
when drawing. Here, nil
means that all pixels are drawn in the foreground
color. A stipple is not transformed by the transform
parameter. Its origin is assumed to coincide with the port's. The stipple
is tiled across the drawing. stipple
is ignored if a pattern
is given. If no fill-style
is given, or it is specified as :solid
, when a Stipple
is given, then fill-style
defaults to :opaque-stippled
.
One of :solid
:opaque-stippled
or :stippled
. Its value determines how the drawing is done. The default value :solid
means that the foreground
is used everywhere. :opaque-stippled
means that the stipple
bitmap is used with stipple 1s giving the foreground
and 0s the background
. :stippled
means that the stipple
bitmap is used with foreground
where there are 1s and where the are 0s, no drawing is done. If you specify a stipple but no fill-style
, or a fill-style
of :solid
, it defaults to :opaque-stipple
.
A pixmap the same depth as the port. It is used as the source of color for drawing instead of the foreground
and background
parameters. A pattern is not transformed by the transform
parameter. The pattern
is tiled across the drawing. When pattern
is specified, the stipple
value is ignored.
The thickness of lines drawn. If scale-thickness
is non- nil
, the value is in port (transformed) coordinates, otherwise it is in pixels.
If non- nil
means interpret the thickness
parameter in transformed port coordinates, otherwise interpret it in pixels.
If non- nil draws
a dashed line using dash as the mark-space specifier.
If non- nil
should be a two element list specifying the mark and space for dashed lines. The mark and space values are interpreted in pixels only.
One of :butt
:round
or :projecting
and specifies how to draw the ends of lines.
One of :bevel
:miter
:round
and specifies how to draw the areas where the edges of polygons meet.
Either nil
or a list of the form (
x y width height )
, defining a rectangle inside which the drawing is done. The mask
is not tiled. A mask is not transformed by the transform
parameter.
An integer specifying where in the port the X coordinate of the mask origin is to be considered to be. The value is in window coordinates.
An integer specifying where in the port the Y coordinate of the mask origin is to be considered to be. The value is in window coordinates.
Either nil
or a valid font name or font object to be used by the draw-character
and draw-string
functions. A valid font is a portable font description. See Portable font descriptions.