42 lines
1,012 B
Rust
42 lines
1,012 B
Rust
#[derive(Debug, Fail)]
|
|
pub enum ScreenshotError {
|
|
#[fail(display = "x11 error")]
|
|
X11Error(#[cause] ::xlib::X11Error),
|
|
|
|
#[fail(display = "imlib2 error")]
|
|
ImlibError(#[cause] ::imlib2::Error),
|
|
|
|
#[fail(display = "io error")]
|
|
IOError(#[cause] ::std::io::Error),
|
|
|
|
#[fail(display = "png encoding error")]
|
|
PngEncodingError(#[cause] ::png::EncodingError),
|
|
|
|
#[fail(display = "error")]
|
|
Error,
|
|
}
|
|
|
|
impl From<::std::io::Error> for ScreenshotError {
|
|
fn from(err: ::std::io::Error) -> Self {
|
|
ScreenshotError::IOError(err)
|
|
}
|
|
}
|
|
|
|
impl From<::xlib::X11Error> for ScreenshotError {
|
|
fn from(err: ::xlib::X11Error) -> Self {
|
|
ScreenshotError::X11Error(err)
|
|
}
|
|
}
|
|
|
|
impl From<::imlib2::Error> for ScreenshotError {
|
|
fn from(err: ::imlib2::Error) -> Self {
|
|
ScreenshotError::ImlibError(err)
|
|
}
|
|
}
|
|
|
|
impl From<::png::EncodingError> for ScreenshotError {
|
|
fn from(err: ::png::EncodingError) -> Self {
|
|
ScreenshotError::PngEncodingError(err)
|
|
}
|
|
}
|