diff options
Diffstat (limited to 'vendor/jpeg-decoder/src/error.rs')
-rw-r--r-- | vendor/jpeg-decoder/src/error.rs | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/vendor/jpeg-decoder/src/error.rs b/vendor/jpeg-decoder/src/error.rs deleted file mode 100644 index c5fe7b6..0000000 --- a/vendor/jpeg-decoder/src/error.rs +++ /dev/null @@ -1,75 +0,0 @@ -use alloc::boxed::Box; -use alloc::fmt; -use alloc::string::String; -use core::result; -use std::error::Error as StdError; -use std::io::Error as IoError; - -use crate::ColorTransform; - -pub type Result<T> = result::Result<T, Error>; - -/// An enumeration over JPEG features (currently) unsupported by this library. -/// -/// Support for features listed here may be included in future versions of this library. -#[derive(Debug, Clone, PartialEq, Eq, Hash)] -pub enum UnsupportedFeature { - /// Hierarchical JPEG. - Hierarchical, - /// JPEG using arithmetic entropy coding instead of Huffman coding. - ArithmeticEntropyCoding, - /// Sample precision in bits. 8 bit sample precision is what is currently supported in non-lossless coding process. - SamplePrecision(u8), - /// Number of components in an image. 1, 3 and 4 components are currently supported. - ComponentCount(u8), - /// An image can specify a zero height in the frame header and use the DNL (Define Number of - /// Lines) marker at the end of the first scan to define the number of lines in the frame. - DNL, - /// Subsampling ratio. - SubsamplingRatio, - /// A subsampling ratio not representable as an integer. - NonIntegerSubsamplingRatio, - /// Colour transform - ColorTransform(ColorTransform), -} - -/// Errors that can occur while decoding a JPEG image. -#[derive(Debug)] -pub enum Error { - /// The image is not formatted properly. The string contains detailed information about the - /// error. - Format(String), - /// The image makes use of a JPEG feature not (currently) supported by this library. - Unsupported(UnsupportedFeature), - /// An I/O error occurred while decoding the image. - Io(IoError), - /// An internal error occurred while decoding the image. - Internal(Box<dyn StdError + Send + Sync + 'static>), //TODO: not used, can be removed with the next version bump -} - -impl fmt::Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match *self { - Error::Format(ref desc) => write!(f, "invalid JPEG format: {}", desc), - Error::Unsupported(ref feat) => write!(f, "unsupported JPEG feature: {:?}", feat), - Error::Io(ref err) => err.fmt(f), - Error::Internal(ref err) => err.fmt(f), - } - } -} - -impl StdError for Error { - fn source(&self) -> Option<&(dyn StdError + 'static)> { - match *self { - Error::Io(ref err) => Some(err), - Error::Internal(ref err) => Some(&**err), - _ => None, - } - } -} - -impl From<IoError> for Error { - fn from(err: IoError) -> Error { - Error::Io(err) - } -} |