Skip to main content

GpuEncodedPaint

Enum GpuEncodedPaint 

Source
pub enum GpuEncodedPaint {
    Image(GpuEncodedImage),
    LinearGradient(GpuLinearGradient),
    RadialGradient(GpuRadialGradient),
    SweepGradient(GpuSweepGradient),
    BlurredRoundedRect(GpuBlurredRoundedRect),
}
Expand description

One encoded paint of any kind.

Records are compared by their bytes (GpuEncodedPaint::as_bytes) rather than field-wise: the bytes are the contract the shader reads.

Variants§

§

Image(GpuEncodedImage)

An image.

§

LinearGradient(GpuLinearGradient)

A linear gradient.

§

RadialGradient(GpuRadialGradient)

A radial gradient.

§

SweepGradient(GpuSweepGradient)

A sweep gradient.

§

BlurredRoundedRect(GpuBlurredRoundedRect)

A blurred rounded rectangle.

Implementations§

Source§

impl GpuEncodedPaint

Source

pub const fn paint_type(&self) -> PaintType

The paint type a strip instance names this record by.

Source

pub fn as_bytes(&self) -> &[u8] ⓘ

This paint’s bytes, exactly as they land in the encoded-paint texture.

Source

pub fn byte_len(&self) -> usize

This paint’s size in bytes — always a multiple of the 16-byte texel.

Source

pub fn texel_len(&self) -> u32

The number of texels this paint occupies.

Source

pub fn serialized_len(paints: &[Self]) -> usize

The total byte length of paints serialized back to back.

Source

pub fn serialize_to_buffer( paints: &[Self], buffer: &mut [u8], ) -> Result<usize, EngineError>

Serializes paints back to back into the front of buffer, returning the number of bytes written.

buffer is the full padded upload buffer, so anything past the returned length keeps whatever it already held — a paint index only ever addresses a record that was written.

§Errors

Returns EngineError::AtlasError when buffer is shorter than the serialized paints, rather than writing a partial record.

Source

pub fn texel_offsets(paints: &[Self]) -> Vec<u32>

The texel each paint in paints starts at, in serialization order — the index the shader looks a paint up by.

Trait Implementations§

Source§

impl Clone for GpuEncodedPaint

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for GpuEncodedPaint

Source§

impl Debug for GpuEncodedPaint

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

Source§

fn simd_from(_simd: S, value: T) -> T

Source§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

Source§

fn simd_into(self, simd: S) -> T

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.
Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,