pub trait ImageDecoderRect<'a>: ImageDecoder<'a> + Sized {
    // Required method
    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<()>;

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

Specialized image decoding not be supported by all formats

Required Methods§

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<()>

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] ) -> ImageResult<()>

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

Implementors§

source§

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

source§

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

source§

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

source§

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