pub struct CompressedTexture2dMipmap<'t>(_, _);
Expand description

Represents a single mipmap level of a CompressedTexture2d.

Can be obtained by calling CompressedTexture2d::mipmap(), CompressedTexture2d::main_level(), CompressedTexture2dLayer::mipmap() or CompressedTexture2dLayer::main_level().

Implementations§

source§

impl<'t> CompressedTexture2dMipmap<'t>

source

pub fn width(&self) -> u32

Returns the width of that image.

source

pub fn height(&self) -> u32

Returns the height of that image.

source

pub fn dimensions(&self) -> (u32, u32)

Returns the width and height of that image.

source

pub fn write<'a, T>(&self, rect: Rect, data: T)where T: Texture2dDataSource<'a>,

Uploads some data in the texture level.

Note that this may cause a synchronization if you use the texture right before or right after this call.

Panic

Panics if the the dimensions of data don’t match the Rect.

Calling this for compressed textures will result in a panic of type INVALID_OPERATION if Rect::bottom or Rect::width is not equal to 0 (border). In addition, the contents of any texel outside the region modified by such a call are undefined. These restrictions may be relaxed for specific compressed internal formats whose images are easily edited.

source

pub fn write_compressed_data( &self, rect: Rect, data: &[u8], width: u32, height: u32, format: CompressedFormat ) -> Result<(), ()>

Uploads some data in the texture level by using a compressed format as input.

Note that this may cause a synchronization if you use the texture right before or right after this call.

Panic

Panics if the the dimensions of data don’t match the Rect.

Calling this will result in a panic of type INVALID_OPERATION error if Rect::width or Rect::height is not equal to 0 (border), or if the written dimensions do not match the original texture dimensions. The contents of any texel outside the region modified by the call are undefined. These restrictions may be relaxed for specific compressed internal formats whose images are easily edited.

source

pub fn read_compressed_data(&self) -> Option<(CompressedFormat, Vec<u8>)>

Reads the content of the texture level to RAM without decompressing it before.

You should avoid doing this at all cost during performance-critical operations (for example, while you’re drawing).

Returns the compressed format of the texture and the compressed data, gives None when the internal compression format is generic or unknown.

source

pub fn get_texture(&self) -> &'t CompressedTexture2d

Returns the corresponding texture.

source

pub fn get_level(&self) -> u32

Returns the texture level.

Methods from Deref<Target = TextureAnyMipmap<'a>>§

source

pub fn get_width(&self) -> u32

Returns the width of the mipmap.

source

pub fn get_height(&self) -> Option<u32>

Returns the height of the mipmap.

source

pub fn get_depth(&self) -> Option<u32>

Returns the depth of the mipmap.

source

pub fn get_samples(&self) -> Option<u32>

Returns the number of samples of the texture.

source

pub fn get_texture(&self) -> &'a TextureAny

Returns the texture.

source

pub fn get_level(&self) -> u32

Returns the level of the texture.

source

pub fn first_layer(&self) -> TextureAnyLayerMipmap<'a>

Returns a structure that represents the first layer of this mipmap of the texture. All textures have a first layer.

source

pub fn layer(&self, layer: u32) -> Option<TextureAnyLayerMipmap<'a>>

Returns a structure that represents a specific layer of this mipmap of the texture.

Non-array textures have only one layer. The number of layers can be queried with get_array_size.

Returns None if out of range.

source

pub fn get_array_size(&self) -> Option<u32>

Returns the array size of the texture.

source

pub fn raw_upload_from_pixel_buffer<P>( &self, source: BufferSlice<'_, [P]>, x: Range<u32>, y: Range<u32>, z: Range<u32> )where P: PixelValue,

Uploads data to the texture from a buffer.

Panic

Panics if the offsets and dimensions are outside the boundaries of the texture. Panics if the buffer is not big enough to hold the data.

source

pub fn raw_upload_from_pixel_buffer_inverted<P>( &self, source: BufferSlice<'_, [P]>, x: Range<u32>, y: Range<u32>, z: Range<u32> )where P: PixelValue,

Uploads data to the texture from a buffer. The R, G and B components are flipped.

Panic

Panics if the offsets and dimensions are outside the boundaries of the texture. Panics if the buffer is not big enough to hold the data.

Trait Implementations§

source§

impl<'t> Clone for CompressedTexture2dMipmap<'t>

source§

fn clone(&self) -> CompressedTexture2dMipmap<'t>

Returns a copy 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<'a> Deref for CompressedTexture2dMipmap<'a>

§

type Target = TextureAnyMipmap<'a>

The resulting type after dereferencing.
source§

fn deref(&self) -> &TextureAnyMipmap<'a>

Dereferences the value.
source§

impl<'t> Into<TextureAnyImage<'t>> for CompressedTexture2dMipmap<'t>

source§

fn into(self) -> TextureAnyImage<'t>

Converts this type into the (usually inferred) input type.
source§

impl<'t> Copy for CompressedTexture2dMipmap<'t>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Content for Twhere T: Copy,

§

type Owned = T

A type that holds a sized version of the content.
source§

fn read<F, E>(size: usize, f: F) -> Result<T, E>where F: FnOnce(&mut T) -> Result<(), E>,

Prepares an output buffer, then turns this buffer into an Owned.
source§

fn get_elements_size() -> usize

Returns the size of each element.
source§

fn to_void_ptr(&self) -> *const ()

Produces a pointer to the data.
source§

fn ref_from_ptr<'a>(ptr: *mut (), size: usize) -> Option<*mut T>

Builds a pointer to this type from a raw pointer.
source§

fn is_size_suitable(size: usize) -> bool

Returns true if the size is suitable to store a type like this.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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 Twhere T: Clone,

§

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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.