[][src]Enum png_pong::decode::Error

pub enum Error {
    Io(Arc<Error>),
    ColorType(u8),
    BitDepth(u8),
    ColorMode(ColorTypeu8),
    BackgroundSize(ColorType),
    InvalidSignature,
    AdlerChecksum,
    Inflate(TINFLStatus),
    PresetDict,
    CompressionMethod,
    ZlibHeader,
    ZlibTooSmall,
    InterlaceMethod,
    FilterMethod,
    ImageDimensions,
    Empty,
    TextSize(usize),
    HuffmanEnd,
    IllegalFilterType,
    AlphaPaletteLen,
    ChunkSize,
    AlphaPaletteWithAlphaMode,
    NoEnd,
    PhysUnits,
    NulTerm,
    ChunkLength([u8; 4]),
    UnknownChunkType([u8; 4]),
    Eof,
    ChunkOrder,
    NoImageData,
    TrailingChunk,
    Multiple([u8; 4]),
    Crc32([u8; 4]),
}

Decoding Errors.

Variants

Io(Arc<Error>)

A wrapped I/O error.

ColorType(u8)

Unrecognized color type

BitDepth(u8)

Out of bounds bit depth

ColorMode(ColorTypeu8)

Invalid color type / bit depth combination

BackgroundSize(ColorType)

Pixel size in background color doesn't match pixel size in image data

InvalidSignature

The first 8 bytes are not the correct PNG signature

AdlerChecksum

Adler checksum not correct, data must be corrupted

Inflate(TINFLStatus)

Inflate algorithm failure

PresetDict

ZLib compression includes preset dictionary, which is not allowed according to the PNG specification

CompressionMethod

Invalid compression method in zlib header

ZlibHeader

Invalid FCHECK in zlib header

ZlibTooSmall

ZLib data is too small

InterlaceMethod

TODO

FilterMethod

TODO

ImageDimensions

TODO

Empty

File doesn't contain any chunks.

TextSize(usize)

Text is not between 1-79 characters

HuffmanEnd

The length of the END symbol 256 in the Huffman tree is 0

IllegalFilterType

Unrecognized filter type

AlphaPaletteLen

Alpha palette is larger than the palette.

ChunkSize

Chunk is the wrong size

AlphaPaletteWithAlphaMode

Mode has an alpha channel, but also an alpha palette (must pick one)

NoEnd

Chunk was expected to end, but didn't

PhysUnits

Invalid unit type

NulTerm

Null terminator is missing.

ChunkLength([u8; 4])

Invalid chunk length for the chunk type

UnknownChunkType([u8; 4])

Not a critical error, should be ignored (chunk not recognized).

Eof

Input reading appears to end in the middle of a PNG file

ChunkOrder

Chunks are out of order

NoImageData

IDAT Chunk not found.

TrailingChunk

Chunk(s) were found after the IEND chunk.

Multiple([u8; 4])

Multiple of a chunk were found when only one of this type is allowed.

Crc32([u8; 4])

CRC32 Checksum failed for a chunk

Trait Implementations

impl Clone for Error[src]

impl Debug for Error[src]

impl From<Error> for Error[src]

Auto Trait Implementations

impl !RefUnwindSafe for Error

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl !UnwindSafe for Error

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.