[−][src]Struct web_glitz::image::texture_3d::LevelLayersMut
A mutable reference to a the layers of a mipmap level of a Texture3D.
Derefs to LevelLayers.
Implementations
impl<'a, F> LevelLayersMut<'a, F>[src]
pub fn get_mut<'b, I>(&'b mut self, index: I) -> Option<I::Output> where
I: LevelLayersMutIndex<'b, F>, [src]
I: LevelLayersMutIndex<'b, F>,
pub unsafe fn get_unchecked_mut<'b, I>(&'b mut self, index: I) -> I::Output where
I: LevelLayersMutIndex<'b, F>, [src]
I: LevelLayersMutIndex<'b, F>,
pub fn iter_mut(&mut self) -> LevelLayersMutIter<'_, F>ⓘNotable traits for LevelLayersMutIter<'a, F>
impl<'a, F> Iterator for LevelLayersMutIter<'a, F> where
F: TextureFormat, type Item = LevelLayerMut<'a, F>;[src]
Notable traits for LevelLayersMutIter<'a, F>
impl<'a, F> Iterator for LevelLayersMutIter<'a, F> where
F: TextureFormat, type Item = LevelLayerMut<'a, F>;Methods from Deref<Target = LevelLayers<'a, F>>
pub fn len(&self) -> usize[src]
The number of layers for the level.
Note that each mipmap level for a Texture3D as the same number of layers.
pub fn get<'b, I>(&'b self, index: I) -> Option<I::Output> where
I: LevelLayersIndex<'b, F>, [src]
I: LevelLayersIndex<'b, F>,
Returns a reference to the layer at the index, or None if the index is out of bounds.
See also [get_unchecked] for an unsafe variant of this method that does not do any bounds checks.
Example
use web_glitz::image::MipmapLevels; use web_glitz::image::format::RGB8; use web_glitz::image::texture_3d::Texture3DDescriptor; let texture = context.try_create_texture_3d(&Texture3DDescriptor { format: RGB8, width: 256, height: 256, depth: 16, levels: MipmapLevels::Partial(3) }).unwrap(); let base_level = texture.base_level(); let layers = base_level.layers(); assert_eq!(layers.get(1).map(|l| (l.width(), l.height())), Some((128, 128))); assert_eq!(layers.get(4).map(|l| (l.width(), l.height())), None);
pub unsafe fn get_unchecked<'b, I>(&'b self, index: I) -> I::Output where
I: LevelLayersIndex<'b, F>, [src]
I: LevelLayersIndex<'b, F>,
Returns a reference to layer at the index, without doing any bounds checks.
Example
use web_glitz::image::MipmapLevels; use web_glitz::image::format::RGB8; use web_glitz::image::texture_3d::Texture3DDescriptor; let texture = context.try_create_texture_3d(&Texture3DDescriptor { format: RGB8, width: 256, height: 256, depth: 16, levels: MipmapLevels::Partial(3) }).unwrap(); let base_level = texture.base_level(); let layers = base_level.layers(); let layer = unsafe { layers.get_unchecked(1) }; assert_eq!((layer.width(), layer.height()), (128, 128));
Unsafe
The index must be in bounds. See also [get] for a safe variant of this method that does
bounds checks.
pub fn iter(&self) -> LevelLayersIter<'_, F>ⓘNotable traits for LevelLayersIter<'a, F>
impl<'a, F> Iterator for LevelLayersIter<'a, F> where
F: TextureFormat, type Item = LevelLayer<'a, F>;[src]
Notable traits for LevelLayersIter<'a, F>
impl<'a, F> Iterator for LevelLayersIter<'a, F> where
F: TextureFormat, type Item = LevelLayer<'a, F>;Returns an iterator over the layers.
Example
use web_glitz::image::MipmapLevels; use web_glitz::image::format::RGB8; use web_glitz::image::texture_3d::Texture3DDescriptor; let texture = context.try_create_texture_3d(&Texture3DDescriptor { format: RGB8, width: 256, height: 256, depth: 4, levels: MipmapLevels::Complete }).unwrap(); let base_level = texture.base_level(); let layers = base_level.layers(); let mut iter = layers.iter(); assert!(iter.next().is_some()); assert!(iter.next().is_some()); assert!(iter.next().is_some()); assert!(iter.next().is_some()); assert!(iter.next().is_none());
Trait Implementations
impl<'a, F> Deref for LevelLayersMut<'a, F>[src]
type Target = LevelLayers<'a, F>
The resulting type after dereferencing.
fn deref(&self) -> &Self::Target[src]
impl<'a, F: Hash> Hash for LevelLayersMut<'a, F>[src]
fn hash<__H: Hasher>(&self, state: &mut __H)[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl<'a, F> IntoIterator for LevelLayersMut<'a, F> where
F: TextureFormat, [src]
F: TextureFormat,
type Item = LevelLayerMut<'a, F>
The type of the elements being iterated over.
type IntoIter = LevelLayersMutIter<'a, F>
Which kind of iterator are we turning this into?
fn into_iter(self) -> Self::IntoIter[src]
impl<'a, F: PartialEq> PartialEq<LevelLayersMut<'a, F>> for LevelLayersMut<'a, F>[src]
fn eq(&self, other: &LevelLayersMut<'a, F>) -> bool[src]
fn ne(&self, other: &LevelLayersMut<'a, F>) -> bool[src]
impl<'a, F> StructuralPartialEq for LevelLayersMut<'a, F>[src]
Auto Trait Implementations
impl<'a, F> !RefUnwindSafe for LevelLayersMut<'a, F>
impl<'a, F> !Send for LevelLayersMut<'a, F>
impl<'a, F> !Sync for LevelLayersMut<'a, F>
impl<'a, F> Unpin for LevelLayersMut<'a, F>
impl<'a, F> !UnwindSafe for LevelLayersMut<'a, F>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<D, T> IntoBuffer<T> for D where
D: Borrow<T> + 'static,
T: Copy + 'static, [src]
D: Borrow<T> + 'static,
T: Copy + 'static,
pub fn into_buffer<Rc>(Self, &Rc, BufferId, UsageHint) -> Buffer<T> where
Rc: RenderingContext + Clone + 'static, [src]
Rc: RenderingContext + Clone + 'static,
impl<I> IntoIterator for I where
I: Iterator, [src]
I: Iterator,
type Item = <I as Iterator>::Item
The type of the elements being iterated over.
type IntoIter = I
Which kind of iterator are we turning this into?
pub fn into_iter(self) -> I[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,