Struct image::codecs::dxt::DxtDecoder
source · pub struct DxtDecoder<R: Read> {
inner: R,
width_blocks: u32,
height_blocks: u32,
variant: DxtVariant,
row: u32,
}
👎Deprecated: DXT support will be removed or reworked in a future version. Prefer the
squish
crate instead. See https://github.com/image-rs/image/issues/1623Expand description
DXT decoder
Fields§
§inner: R
👎Deprecated: DXT support will be removed or reworked in a future version. Prefer the
§squish
crate instead. See https://github.com/image-rs/image/issues/1623width_blocks: u32
👎Deprecated: DXT support will be removed or reworked in a future version. Prefer the
§squish
crate instead. See https://github.com/image-rs/image/issues/1623height_blocks: u32
👎Deprecated: DXT support will be removed or reworked in a future version. Prefer the
§squish
crate instead. See https://github.com/image-rs/image/issues/1623variant: DxtVariant
👎Deprecated: DXT support will be removed or reworked in a future version. Prefer the
§squish
crate instead. See https://github.com/image-rs/image/issues/1623row: u32
👎Deprecated: DXT support will be removed or reworked in a future version. Prefer the
squish
crate instead. See https://github.com/image-rs/image/issues/1623Implementations§
source§impl<R: Read> DxtDecoder<R>
impl<R: Read> DxtDecoder<R>
sourcepub fn new(
r: R,
width: u32,
height: u32,
variant: DxtVariant,
) -> Result<DxtDecoder<R>, ImageError>
👎Deprecated: DXT support will be removed or reworked in a future version. Prefer the squish
crate instead. See https://github.com/image-rs/image/issues/1623
pub fn new( r: R, width: u32, height: u32, variant: DxtVariant, ) -> Result<DxtDecoder<R>, ImageError>
squish
crate instead. See https://github.com/image-rs/image/issues/1623Create a new DXT decoder that decodes from the stream r
.
As DXT is often stored as raw buffers with the width/height
somewhere else the width and height of the image need
to be passed in width
and height
, as well as the
DXT variant in variant
.
width and height are required to be powers of 2 and at least 4.
otherwise an error will be returned
fn read_scanline(&mut self, buf: &mut [u8]) -> Result<usize>
👎Deprecated: DXT support will be removed or reworked in a future version. Prefer the
squish
crate instead. See https://github.com/image-rs/image/issues/1623Trait Implementations§
source§impl<'a, R: 'a + Read> ImageDecoder<'a> for DxtDecoder<R>
impl<'a, R: 'a + Read> ImageDecoder<'a> for DxtDecoder<R>
source§fn dimensions(&self) -> (u32, u32)
fn dimensions(&self) -> (u32, u32)
Returns a tuple containing the width and height of the image
source§fn color_type(&self) -> ColorType
fn color_type(&self) -> ColorType
Returns the color type of the image data produced by this decoder
source§fn scanline_bytes(&self) -> u64
fn scanline_bytes(&self) -> u64
👎Deprecated: Planned for removal. See https://github.com/image-rs/image/issues/1989
Returns the minimum number of bytes that can be efficiently read from this decoder. This may
be as few as 1 or as many as
total_bytes()
.source§fn into_reader(self) -> ImageResult<Self::Reader>
fn into_reader(self) -> ImageResult<Self::Reader>
👎Deprecated: Planned for removal. See https://github.com/image-rs/image/issues/1989
Returns a reader that can be used to obtain the bytes of the image. For the best
performance, always try to read at least
scanline_bytes
from the reader at a time. Reading
fewer bytes will cause the reader to perform internal buffering.source§fn read_image(self, buf: &mut [u8]) -> ImageResult<()>
fn read_image(self, buf: &mut [u8]) -> ImageResult<()>
Returns all the bytes in the image. Read more
source§fn original_color_type(&self) -> ExtendedColorType
fn original_color_type(&self) -> ExtendedColorType
Returns the color type of the image file before decoding
source§fn icc_profile(&mut self) -> Option<Vec<u8>>
fn icc_profile(&mut self) -> Option<Vec<u8>>
Returns the ICC color profile embedded in the image Read more
source§fn total_bytes(&self) -> u64
fn total_bytes(&self) -> u64
Returns the total number of bytes in the decoded image. Read more
source§fn read_image_with_progress<F: Fn(Progress)>(
self,
buf: &mut [u8],
progress_callback: F,
) -> ImageResult<()>
fn read_image_with_progress<F: Fn(Progress)>( self, buf: &mut [u8], progress_callback: F, ) -> ImageResult<()>
👎Deprecated: Use read_image instead. See https://github.com/image-rs/image/issues/1989
Same as
read_image
but periodically calls the provided callback to give updates on loading
progress.source§fn set_limits(&mut self, limits: Limits) -> ImageResult<()>
fn set_limits(&mut self, limits: Limits) -> ImageResult<()>
source§impl<'a, R: 'a + Read + Seek> ImageDecoderRect<'a> for DxtDecoder<R>
impl<'a, R: 'a + Read + Seek> ImageDecoderRect<'a> for DxtDecoder<R>
source§fn read_rect_with_progress<F: Fn(Progress)>(
&mut self,
x: u32,
y: u32,
width: u32,
height: u32,
buf: &mut [u8],
progress_callback: F,
) -> ImageResult<()>
fn read_rect_with_progress<F: Fn(Progress)>( &mut self, x: u32, y: u32, width: u32, height: u32, buf: &mut [u8], progress_callback: F, ) -> ImageResult<()>
👎Deprecated: Use read_image instead. See https://github.com/image-rs/image/issues/1989
Decode a rectangular section of the image, periodically reporting progress. Read more
Auto Trait Implementations§
impl<R> Freeze for DxtDecoder<R>where
R: Freeze,
impl<R> RefUnwindSafe for DxtDecoder<R>where
R: RefUnwindSafe,
impl<R> Send for DxtDecoder<R>where
R: Send,
impl<R> Sync for DxtDecoder<R>where
R: Sync,
impl<R> Unpin for DxtDecoder<R>where
R: Unpin,
impl<R> UnwindSafe for DxtDecoder<R>where
R: UnwindSafe,
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
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>
Converts
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>
Converts
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