Struct png::StreamingDecoder

source ·
pub struct StreamingDecoder { /* private fields */ }
Expand description

PNG StreamingDecoder (low-level interface)

By default, the decoder does not verify Adler-32 checksum computation. To enable checksum verification, set it with StreamingDecoder::set_ignore_adler32 before starting decompression.

Implementations§

source§

impl StreamingDecoder

source

pub fn new() -> StreamingDecoder

Creates a new StreamingDecoder

Allocates the internal buffers.

source

pub fn new_with_options(decode_options: DecodeOptions) -> StreamingDecoder

source

pub fn reset(&mut self)

Resets the StreamingDecoder

source

pub fn info(&self) -> Option<&Info<'static>>

Provides access to the inner info field

source

pub fn set_ignore_text_chunk(&mut self, ignore_text_chunk: bool)

source

pub fn ignore_adler32(&self) -> bool

Return whether the decoder is set to ignore the Adler-32 checksum.

source

pub fn set_ignore_adler32(&mut self, ignore_adler32: bool) -> bool

Set whether to compute and verify the Adler-32 checksum during decompression. Return true if the flag was successfully set.

The decoder defaults to true.

This flag cannot be modified after decompression has started until the StreamingDecoder is reset.

source

pub fn set_ignore_crc(&mut self, ignore_crc: bool)

Set whether to compute and verify the Adler-32 checksum during decompression. Return true if the flag was successfully set.

The decoder defaults to false.

source

pub fn update( &mut self, buf: &[u8], image_data: &mut Vec<u8> ) -> Result<(usize, Decoded), DecodingError>

Low level StreamingDecoder interface.

Allows to stream partial data to the encoder. Returns a tuple containing the bytes that have been consumed from the input buffer and the current decoding result. If the decoded chunk was an image data chunk, it also appends the read data to image_data.

Trait Implementations§

source§

impl Default for StreamingDecoder

source§

fn default() -> Self

Returns the “default value” for a type. Read more

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> 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, 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.