use std::io;
use std::string::FromUtf8Error;
use image::ImageError;
use thiserror::Error;
#[derive(Debug, Error)]
pub enum HexCryptError {
#[error("I/O error")]
IoError(#[from] io::Error),
#[error("Invalid image size `{0}`")]
InvalidImageSize(String),
#[error("Cannot create image with size {0}x{1}")]
CannotCreateImage(u32, u32),
#[error("Error processing image")]
ImageError(#[from] ImageError),
#[error("Cannot convert image bytes to string")]
BytesToString(#[from] FromUtf8Error),
}
pub type HexCryptResult<T> = Result<T, HexCryptError>;