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 make-graphics-state 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))