Chunky

Struct Chunky 

Source
pub struct Chunky<T, V = Vec<u8>> { /* private fields */ }
Expand description

A chunky frame.

In this format, each pixel is stored contiguously, and the entire image is stored in row-major order. For example, this means that an RGBA image would store the RGBA values of the top-left pixel, then each of the RGBA values of the pixel immediately to the right, and so on, moving down through each row.

Implementations§

Source§

impl<T, V> Chunky<T, V>

Source

pub fn from_bytes(width: usize, height: usize, bytes: V) -> Self
where T: AsBytes, V: AsRef<[u8]>,

Creates a new frame backed by the provided byte source.

§Panics

Panics if the length of the buffer is not width * height * bytes_per_pixel.

Source

pub fn bytes(&self) -> &V

Returns a read-only view into the frame’s byte source.

Source

pub fn into_bytes(self) -> V

Recovers the byte source.

Source

pub fn bytes_mut(&mut self) -> &mut [u8]
where V: AsMut<[u8]>,

Returns a mutable view into the frame’s byte source.

Source

pub fn copy_from<U>(&mut self, frame: U)
where T: AsBytes, U: Image<Pixel = T> + Sync, V: AsMut<[u8]>,

Set the frame’s contents to that of the given frame.

§Panics

Panics if the width and height of the given frame are not exactly the same as the width and height of the chunky frame.

Source§

impl<T> Chunky<T>
where T: AsBytes,

Source

pub fn new<U>(frame: U) -> Self
where U: Image<Pixel = T> + Sync,

Creates a new frame using the given frame to fill the buffer. It is guaranteed that the mapping will be called exactly once for each of the integers in the range [0, width) * [0, height).

Trait Implementations§

Source§

impl<T: Clone, V: Clone> Clone for Chunky<T, V>

Source§

fn clone(&self) -> Chunky<T, V>

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<T: Debug, V: Debug> Debug for Chunky<T, V>

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<T, V> Image for Chunky<T, V>
where T: AsBytes, V: AsRef<[u8]>,

Source§

type Pixel = T

The kind of pixel that the frame is made of.
Source§

fn width(&self) -> usize

The width of the frame in pixels.
Source§

fn height(&self) -> usize

The height of the frame in pixels.
Source§

unsafe fn pixel(&self, x: usize, y: usize) -> Self::Pixel

Gets the pixel at the specified zero-indexed coordinates. Read more

Auto Trait Implementations§

§

impl<T, V> Freeze for Chunky<T, V>
where V: Freeze,

§

impl<T, V> RefUnwindSafe for Chunky<T, V>

§

impl<T, V> Send for Chunky<T, V>
where V: Send, T: Send,

§

impl<T, V> Sync for Chunky<T, V>
where V: Sync, T: Sync,

§

impl<T, V> Unpin for Chunky<T, V>
where V: Unpin, T: Unpin,

§

impl<T, V> UnwindSafe for Chunky<T, V>
where V: UnwindSafe, T: UnwindSafe,

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> 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> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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 = 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.