pub struct PlaneLayout {
pub plane0: PlaneInfo,
pub extra: [Option<PlaneInfo>; 3],
}Expand description
How a pixel format lays out its planes in memory.
Plane 0 is stored as a non-Option PlaneInfo because every
PixelFormat has at least one plane — the type encodes that
invariant so callers (stride math, CPU upload, etc.) can name plane
0 without a runtime expect(...). Planes 1..=3 are Option because
only multi-plane formats populate them.
extra[i] is Some iff i + 1 < count(). Use Self::plane for
index-based access; Self::count for the populated plane count.
Fields§
§plane0: PlaneInfo§extra: [Option<PlaneInfo>; 3]Implementations§
Trait Implementations§
Source§impl Clone for PlaneLayout
impl Clone for PlaneLayout
impl Copy for PlaneLayout
Source§impl Debug for PlaneLayout
impl Debug for PlaneLayout
impl Eq for PlaneLayout
Source§impl PartialEq for PlaneLayout
impl PartialEq for PlaneLayout
impl StructuralPartialEq for PlaneLayout
Auto Trait Implementations§
impl Freeze for PlaneLayout
impl RefUnwindSafe for PlaneLayout
impl Send for PlaneLayout
impl Sync for PlaneLayout
impl Unpin for PlaneLayout
impl UnsafeUnpin for PlaneLayout
impl UnwindSafe for PlaneLayout
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.