pub trait ImageDecoderExt<'a>: ImageDecoder<'a> + Sized {
    // Required method
    fn read_rect_with_progress<F>(
        &mut self,
        x: u32,
        y: u32,
        width: u32,
        height: u32,
        buf: &mut [u8],
        progress_callback: F
    ) -> Result<(), ImageError>
       where F: Fn(Progress);

    // Provided method
    fn read_rect(
        &mut self,
        x: u32,
        y: u32,
        width: u32,
        height: u32,
        buf: &mut [u8]
    ) -> Result<(), ImageError> { ... }
}
Expand description

Specialized image decoding not be supported by all formats

Required Methods§

source

fn read_rect_with_progress<F>( &mut self, x: u32, y: u32, width: u32, height: u32, buf: &mut [u8], progress_callback: F ) -> Result<(), ImageError>
where F: Fn(Progress),

Decode a rectangular section of the image, periodically reporting progress.

The output buffer will be filled with fields specified by ImageDecoder::color_type(), in that order, each field represented in native-endian.

The progress callback will be called at least once at the start and the end of decoding, implementations are encouraged to call this more often, with a frequency meaningful for display to the end-user.

This function will panic if the output buffer isn’t at least color_type().bytes_per_pixel() * color_type().channel_count() * width * height bytes long.

Provided Methods§

source

fn read_rect( &mut self, x: u32, y: u32, width: u32, height: u32, buf: &mut [u8] ) -> Result<(), ImageError>

Decode a rectangular section of the image; see read_rect_with_progress().

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, R> ImageDecoderExt<'a> for BmpDecoder<R>
where R: 'a + Read + Seek,

source§

impl<'a, R> ImageDecoderExt<'a> for DxtDecoder<R>
where R: 'a + Read + Seek,

source§

impl<'a, R> ImageDecoderExt<'a> for FarbfeldDecoder<R>
where R: 'a + Read + Seek,

source§

impl<'a, R> ImageDecoderExt<'a> for HdrAdapter<R>
where R: 'a + BufRead + Seek,