pub struct Mask<'a, 's, D> { /* private fields */ }
Expand description
Builder for configuring and rendering a mask.
Implementations§
source§impl<'a, 's, D> Mask<'a, 's, D>where
D: PathData,
impl<'a, 's, D> Mask<'a, 's, D>where
D: PathData,
sourcepub fn with_scratch(data: D, scratch: &'s mut Scratch) -> Self
pub fn with_scratch(data: D, scratch: &'s mut Scratch) -> Self
Creates a new mask builder for the specified path data and scratch memory.
sourcepub fn style(&mut self, style: impl Into<Style<'a>>) -> &mut Self
pub fn style(&mut self, style: impl Into<Style<'a>>) -> &mut Self
Sets the style of the path. The default is a non-zero fill.
sourcepub fn transform(&mut self, transform: Option<Transform>) -> &mut Self
pub fn transform(&mut self, transform: Option<Transform>) -> &mut Self
Sets the transformation matrix of the path.
sourcepub fn format(&mut self, format: Format) -> &mut Self
pub fn format(&mut self, format: Format) -> &mut Self
Sets the desired format of the mask. The default value is an 8-bit alpha format.
sourcepub fn origin(&mut self, origin: Origin) -> &mut Self
pub fn origin(&mut self, origin: Origin) -> &mut Self
Sets the origin that defines the coordinate system for the mask.
sourcepub fn size(&mut self, width: u32, height: u32) -> &mut Self
pub fn size(&mut self, width: u32, height: u32) -> &mut Self
Sets an explicit size for the mask. If left unspecified, the size will be computed from the bounding box of the path after applying any relevant style, offset and transform.
sourcepub fn render_offset(&mut self, offset: impl Into<Vector>) -> &mut Self
pub fn render_offset(&mut self, offset: impl Into<Vector>) -> &mut Self
Sets an additional rendering offset for the mask. This offset does not affect bounds or size computations and is only applied during rendering.
sourcepub fn inspect(&mut self, f: impl FnMut(Format, u32, u32)) -> &mut Self
pub fn inspect(&mut self, f: impl FnMut(Format, u32, u32)) -> &mut Self
Invokes a closure with the format, width and height of the mask provided as arguments. This is primarily useful for preparing a target buffer without interrupting the call chain.
sourcepub fn render_into(&self, buffer: &mut [u8], pitch: Option<usize>) -> Placement
pub fn render_into(&self, buffer: &mut [u8], pitch: Option<usize>) -> Placement
Renders the mask into a byte buffer. If specified, the pitch describes the number of bytes between subsequent rows of the target buffer. This is primarily useful for rendering into tiled images such as texture atlases. If left unspecified, the buffer is assumed to be linear and tightly packed.