Binds the mask slot of a port's graphics state across the execution of a body of code.
graphics-ports
with-graphics-mask (port mask &key mask-x mask-y mask-transform) &body body => result
| port⇩ |
A graphics port. |
| mask⇩ | nil or a list specifying a shape. |
|
Integers. These arguments are deprecated. | |
| mask-transform⇩ | nil, t, the keyword :dynamic, or a transform. |
| body⇩ |
A body of Lisp code. |
| result |
The return value of the last form executed in body. |
The macro with-graphics-mask binds the mask slot of port's graphics-state while evaluating the forms in body as an implicit progn. The mask can be a rectangular area specified by a list of the form (x y width height) or a path specified by a list of the form (:path path :fill-rule fill-rule).
mask-x and mask-y are deprecated. They work only when the drawing-mode is :compatible and the platform is GTK+ or X11/Motif. By default, mask-x and mask-y are both 0.
MASK-TRANSFORM is used to set the mask-transform graphics state parameter. If mask-transform is nil, then mask will not not transformed. If mask-transform is t, then mask will be transformed by the current graphics state transform at the time that with-graphics-mask is used. If mask-transform is :dynamic, then mask will be transformed by the graphics state transform that is in effect when the drawing operation uses the mask. Otherwise mask-transform should be a transform object. The default value of mask-transform is nil.
See graphics-state for more details about mask and mask-transform.
This example file demonstrates the use of mask-transform:
(example-edit-file "capi/graphics/paths")
CAPI User Guide and Reference Manual (Macintosh version) - 01 Dec 2021 19:31:44