Enum NormalForm
pub enum NormalForm {
Unaliased,
PixelPacked,
ImagePacked,
RowMajorPacked,
ColumnMajorPacked,
}dep_image only.Expand description
Different normal forms of buffers.
A normal form is an unaliased buffer with some additional constraints. The ÌmageBuffer uses
row major form with packed samples.
Variants§
Unaliased
No pixel aliases another.
Unaliased also guarantees that all index calculations in the image bounds using
dim_index*dim_stride (such as x*width_stride + y*height_stride) do not overflow.
PixelPacked
At least pixels are packed.
Images of these types can wrap [T]-slices into the standard color types. This is a
precondition for GenericImage which requires by-reference access to pixels.
ImagePacked
All samples are packed.
This is orthogonal to PixelPacked. It requires that there are no holes in the image but
it is not necessary that the pixel samples themselves are adjacent. An example of this
behaviour is a planar image layout.
RowMajorPacked
The samples are in row-major form and all samples are packed.
In addition to PixelPacked and ImagePacked this also asserts that the pixel matrix is
in row-major form.
ColumnMajorPacked
The samples are in column-major form and all samples are packed.
In addition to PixelPacked and ImagePacked this also asserts that the pixel matrix is
in column-major form.
Trait Implementations§
§impl Clone for NormalForm
impl Clone for NormalForm
§fn clone(&self) -> NormalForm
fn clone(&self) -> NormalForm
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for NormalForm
impl Debug for NormalForm
§impl Hash for NormalForm
impl Hash for NormalForm
§impl PartialEq for NormalForm
impl PartialEq for NormalForm
§impl PartialOrd for NormalForm
impl PartialOrd for NormalForm
§fn partial_cmp(&self, other: &NormalForm) -> Option<Ordering> ⓘ
fn partial_cmp(&self, other: &NormalForm) -> Option<Ordering> ⓘ
Compares the logical preconditions.
a < b if the normal form a has less preconditions than b.
impl Copy for NormalForm
impl Eq for NormalForm
impl StructuralPartialEq for NormalForm
Auto Trait Implementations§
impl Freeze for NormalForm
impl RefUnwindSafe for NormalForm
impl Send for NormalForm
impl Sync for NormalForm
impl Unpin for NormalForm
impl UnwindSafe for NormalForm
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> ByteSized for T
impl<T> ByteSized for T
Source§const BYTE_ALIGN: usize = _
const BYTE_ALIGN: usize = _
Source§fn byte_align(&self) -> usize
fn byte_align(&self) -> usize
Source§fn ptr_size_ratio(&self) -> [usize; 2]
fn ptr_size_ratio(&self) -> [usize; 2]
Source§impl<T, R> Chain<R> for Twhere
T: ?Sized,
impl<T, R> Chain<R> for Twhere
T: ?Sized,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> ExtAny for T
impl<T> ExtAny for T
Source§fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64
fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64
TypeId of Self using a custom hasher.Source§fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
Source§impl<T> ExtMem for Twhere
T: ?Sized,
impl<T> ExtMem for Twhere
T: ?Sized,
Source§const NEEDS_DROP: bool = _
const NEEDS_DROP: bool = _
Source§fn mem_align_of<T>() -> usize
fn mem_align_of<T>() -> usize
Source§fn mem_align_of_val(&self) -> usize
fn mem_align_of_val(&self) -> usize
Source§fn mem_size_of<T>() -> usize
fn mem_size_of<T>() -> usize
Source§fn mem_size_of_val(&self) -> usize
fn mem_size_of_val(&self) -> usize
Source§fn mem_needs_drop(&self) -> bool
fn mem_needs_drop(&self) -> bool
true if dropping values of this type matters. Read moreSource§fn mem_forget(self)where
Self: Sized,
fn mem_forget(self)where
Self: Sized,
self without running its destructor. Read moreSource§fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
Source§unsafe fn mem_zeroed<T>() -> T
unsafe fn mem_zeroed<T>() -> T
unsafe_layout only.T represented by the all-zero byte-pattern. Read moreSource§unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe_layout only.T represented by the all-zero byte-pattern. Read moreSource§fn mem_as_bytes(&self) -> &[u8] ⓘ
fn mem_as_bytes(&self) -> &[u8] ⓘ
unsafe_slice only.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Hook for T
impl<T> Hook for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more