[][src]Struct glium::texture::compressed_srgb_texture2d::CompressedSrgbTexture2dMipmap

pub struct CompressedSrgbTexture2dMipmap<'t>(_, _);

Represents a single mipmap level of a CompressedSrgbTexture2d.

Can be obtained by calling CompressedSrgbTexture2d::mipmap(), CompressedSrgbTexture2d::main_level(), CompressedSrgbTexture2dLayer::mipmap() or CompressedSrgbTexture2dLayer::main_level().

Implementations

impl<'t> CompressedSrgbTexture2dMipmap<'t>[src]

pub fn width(&self) -> u32[src]

Returns the width of that image.

pub fn height(&self) -> u32[src]

Returns the height of that image.

pub fn dimensions(&self) -> (u32, u32)[src]

Returns the width and height of that image.

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

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.

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

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.

pub fn read_compressed_data(&self) -> Option<(CompressedSrgbFormat, Vec<u8>)>[src]

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.

pub fn get_texture(&self) -> &'t CompressedSrgbTexture2d[src]

Returns the corresponding texture.

pub fn get_level(&self) -> u32[src]

Returns the texture level.

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

pub fn get_width(&self) -> u32[src]

Returns the width of the mipmap.

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

Returns the height of the mipmap.

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

Returns the depth of the mipmap.

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

Returns the number of samples of the texture.

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

Returns the texture.

pub fn get_level(&self) -> u32[src]

Returns the level of the texture.

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

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

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

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.

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

Returns the array size of the texture.

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

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.

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
[src]

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

impl<'t> Clone for CompressedSrgbTexture2dMipmap<'t>[src]

impl<'t> Copy for CompressedSrgbTexture2dMipmap<'t>[src]

impl<'a> Deref for CompressedSrgbTexture2dMipmap<'a>[src]

type Target = TextureAnyMipmap<'a>

The resulting type after dereferencing.

impl<'t> Into<TextureAnyImage<'t>> for CompressedSrgbTexture2dMipmap<'t>[src]

Auto Trait Implementations

impl<'t> !RefUnwindSafe for CompressedSrgbTexture2dMipmap<'t>

impl<'t> !Send for CompressedSrgbTexture2dMipmap<'t>

impl<'t> !Sync for CompressedSrgbTexture2dMipmap<'t>

impl<'t> Unpin for CompressedSrgbTexture2dMipmap<'t>

impl<'t> !UnwindSafe for CompressedSrgbTexture2dMipmap<'t>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Content for T where
    T: Copy
[src]

type Owned = T

A type that holds a sized version of the content.

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.