Struct zeno::Mask

source ·
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,

source

pub fn new(data: D) -> Self

Creates a new mask builder for the specified path data.

source

pub fn with_scratch(data: D, scratch: &'s mut Scratch) -> Self

Creates a new mask builder for the specified path data and scratch memory.

source

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.

source

pub fn transform(&mut self, transform: Option<Transform>) -> &mut Self

Sets the transformation matrix of the path.

source

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.

source

pub fn origin(&mut self, origin: Origin) -> &mut Self

Sets the origin that defines the coordinate system for the mask.

source

pub fn offset(&mut self, offset: impl Into<Vector>) -> &mut Self

Sets the offset for the path.

source

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.

source

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.

source

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.

source

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.

source

pub fn render(&self) -> (Vec<u8>, Placement)

Renders the mask to a newly allocated buffer.

Auto Trait Implementations§

§

impl<'a, 's, D> !Freeze for Mask<'a, 's, D>

§

impl<'a, 's, D> !RefUnwindSafe for Mask<'a, 's, D>

§

impl<'a, 's, D> Send for Mask<'a, 's, D>
where D: Send,

§

impl<'a, 's, D> !Sync for Mask<'a, 's, D>

§

impl<'a, 's, D> Unpin for Mask<'a, 's, D>
where D: Unpin,

§

impl<'a, 's, D> !UnwindSafe for Mask<'a, 's, D>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.