A soft mask in a display list: the per-point shape or opacity the paints that follow (or a group's result) are composited with, derived from a transparency group. Valid only during the call that hands it over; IsNone when there is no mask.
public ref readonly struct DisplaySoftMask
ISO 32000-2 §11.5 and §11.6.5.1, Table 142. The mask's group is Content, a display list of its own in mask space
(the coordinate system of the CTM at the gs that set the mask, §11.6.5.1), holding one transparency group
(DrawGroup(in DisplayGroup)) with the group XObject's attributes and content. To get the mask values, replay it
with Matrix before the backend's own mapping of default user space to the device:
The value then passes through TransferFunction (clamped to 0..1). Outside the group's bounding box the value is the transfer function of 0 (Alpha) or of the backdrop's luminosity (Luminosity), which the replay over the backdrop gives by itself. IsShape says whether the values are shape (fm) or opacity (qm) in the compositing formulas (§11.6.4.3, AIS); the two differ only inside knockout groups and where a group's shape is kept.
The list carries no transfer function of the page into the group (§11.7.5.2: transfer applies to final colours): the group runs from the initial graphics state.
kind:method, kind:property, kind:ctor. Press Esc to clear.BackdropGets the backdrop colour of a luminosity mask, components in ColorSpace: the mask's BC, or the space's initial colour (black) when it is absent or does not fit the space. Empty for an alpha mask.BoundingBoxGets the bounds, in mask space, of the group's bounding box (its BBox mapped by its Matrix), outside which the mask value is constant (§11.6.5.1). Meaningful only when HasBoundingBox.ColorSpaceGets the colour space of Backdrop, the group colour space of a luminosity mask; null for an alpha mask.ContentGets the mask's group as a display list in mask space: one DrawGroup(in DisplayGroup) (isolated, knockout and colour space from the group's attributes, opacity 1, Normal) holding the group XObject's content, clipped to its bounding box. Empty when the group paints nothing. null only when IsNone.ConversionGets the conversion for Backdrop (the initial graphics state's intent, target RGB).DefaultColorSpacesGets the default colour spaces of the group's resources, which replace a device ColorSpace.HasBoundingBoxGets a value indicating whether BoundingBox bounds the group (a group XObject has a usable BBox).IsNoneGets a value indicating whether there is no mask: the SMask None, painting unmasked (mask values 1 everywhere).IsShapeGets a value indicating whether the mask values are shape (fm) rather than opacity (qm): the alpha source parameter where the mask applies.MatrixGets the transform from mask space, where Content and BoundingBox are, to the page's default user space: the CTM at the gs that set the mask, independent of the transform of the paints it masks.SubtypeGets how the mask values derive from the group: its alpha, or its luminosity over the backdrop.TransferFunctionGets the transfer function from the group's alpha or luminosity (0 to 1) to the mask value (clamped to 0 to 1), or null for the identity.