All Manuals > CAPI User Guide and Reference Manual > 22 GRAPHICS-PORTS Reference Entries

NextPrevUpTopContentsIndex

with-graphics-state

Macro
Summary

Binds the graphics state values of a port to a list of arguments and executes a body of code.

Package

graphics-ports

Signature

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 shape-mode text-mode compositing-mode mask-transform ) body => result

Arguments

port

A graphics port.

body

A body of Lisp code.

Values

result

The return value of the last form executed in body .

Description

The macro with-graphics-state 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 graphics-state.

For example:

(with-graphics-state (port
 :thickness 12 :foreground my-color
) ...)

Arguments that are not supplied default to the current state of that slot in the graphics-state. The argument stipple is used only on X11/Motif.

mask-x and mask-y are deprecated. They work only when the drawing-mode is :compatible and the platform is GTK+ or X11/Motif.

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.

Example
(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))
See also

graphics-state
set-graphics-state
with-graphics-translation
with-graphics-post-translation
with-graphics-scale
with-graphics-rotation
with-graphics-transform
with-graphics-transform-reset
with-graphics-mask
Drawing - Graphics Ports


CAPI User Guide and Reference Manual (Macintosh version) - 3 Aug 2017

NextPrevUpTopContentsIndex