Skip to main content

PlaneView

Struct PlaneView 

Source
pub struct PlaneView<'a> { /* private fields */ }
Expand description

One plane borrowed from a mapping. The stride is in bytes, as in zenpixels; rows exclude padding. Construction checks the geometry, not the samples.

Implementations§

Source§

impl<'a> PlaneView<'a>

Source

pub fn new( samples: PlaneSamples<'a>, width: usize, height: usize, stride_bytes: usize, encoding: SampleEncoding, ) -> Result<PlaneView<'a>, PlaneError>

A width x height plane over samples with rows stride_bytes apart.

§Errors

A PlaneError when the storage does not fit the geometry.

Source

pub fn width(&self) -> usize

Width in samples.

Source

pub fn height(&self) -> usize

Height in rows.

Source

pub fn stride_bytes(&self) -> usize

Distance between rows, in bytes.

Source

pub fn encoding(&self) -> SampleEncoding

The sample encoding.

Source

pub fn as_strided_samples(&self) -> PlaneSamples<'a>

Borrow the strided storage through the last active sample, including padding between rows but excluding trailing allocation space.

Empty geometry returns an empty slice. This does not copy, normalize, shift or mask samples: consumers must honor Self::encoding and Self::stride_bytes. Padding has no sample meaning. The borrow is bounded by the native mapping guard, just like Self::row.

Source

pub fn row(&self, y: usize) -> Option<PlaneSamples<'a>>

Row y, without padding. A zero-width row is empty regardless of stride.

Source

pub fn code(&self, x: usize, y: usize) -> Option<u16>

The code value at (x, y): the stored word shifted and masked per the encoding.

Trait Implementations§

Source§

impl<'a> Clone for PlaneView<'a>

Source§

fn clone(&self) -> PlaneView<'a>

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<'a> Copy for PlaneView<'a>

Source§

impl<'a> Debug for PlaneView<'a>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for PlaneView<'a>

§

impl<'a> RefUnwindSafe for PlaneView<'a>

§

impl<'a> Send for PlaneView<'a>

§

impl<'a> Sync for PlaneView<'a>

§

impl<'a> Unpin for PlaneView<'a>

§

impl<'a> UnsafeUnpin for PlaneView<'a>

§

impl<'a> UnwindSafe for PlaneView<'a>

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