




Binds the graphics state values of a port to a list of arguments and executes a body of code.
with-graphics-state (
port
 &rest 
args
                     &key 
transform
 
foreground
 
background
                     
operation
 
thickness
 
scale-thickness
 
dashed
                     
dash
 
line-end-style line-joint-style
 
mask
 
font
                     
state
 
fill-style stipple pattern mask-x
 
mask-y
)
                     
body
 => 
result
The 
with-graphics-state
 macro binds the graphics state values for the specified port to the values specified in the 
args
 list. The keyword arguments args correspond to the slots in the graphics state, as described in set-graphics-state. See the "Graphics state" section in the 
LispWorks CAPI User Guide
 
for valid values for 
args
.
(with-graphics-state (port :thickness 12
:foreground fore-color) ...)
Arguments that are not supplied default to the current state of that slot in the graphics state. The arguments fill-style , stipple , pattern , mask-x and mask-y are used only on Unix.
An extra keyword argument 
:state
 can be used. The value must be a graphics state object created by a call to make-graphics-state. The contents of the graphics state object passed are used instead of the port's state.
(setf gstate (make-graphics-state))
(setf (graphics-state-foreground gstate) my-color)
(with-graphics-state (port :state gstate)
(draw-rectangle port image-1 100 100))