Enum InterlaceInfo

pub enum InterlaceInfo

Describes which interlacing algorithm applies to a decoded row.

PNG (2003) specifies two interlace modes, but reserves future extensions.

See also Reader.next_interlaced_row.

Variants

Null(NullInfo)

The null method means no interlacing.

Adam7(Adam7Info)

The Adam7 algorithm derives its name from doing 7 passes over the image, only decoding a subset of all pixels in each pass. The following table shows pictorially what parts of each 8x8 area of the image is found in each pass:

1 6 4 6 2 6 4 6
7 7 7 7 7 7 7 7
5 6 5 6 5 6 5 6
7 7 7 7 7 7 7 7
3 6 4 6 3 6 4 6
7 7 7 7 7 7 7 7
5 6 5 6 5 6 5 6
7 7 7 7 7 7 7 7

Trait Implementations

impl Clone for InterlaceInfo

fn clone(&self) -> Self

impl Copy for InterlaceInfo

impl Debug for InterlaceInfo

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Auto Trait Implementations

impl Freeze for InterlaceInfo

impl RefUnwindSafe for InterlaceInfo

impl Send for InterlaceInfo

impl Sync for InterlaceInfo

impl Unpin for InterlaceInfo

impl UnsafeUnpin for InterlaceInfo

impl UnwindSafe for InterlaceInfo

Blanket Implementations

impl<T> Any for InterlaceInfo where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for InterlaceInfo where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for InterlaceInfo where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> CloneToUninit for InterlaceInfo where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for InterlaceInfo

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> ToOwned for InterlaceInfo where T: Clone,

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

impl<T, U> Into<U> for InterlaceInfo where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for InterlaceInfo where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for InterlaceInfo where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>