diff options
author | 2020-09-09 14:47:36 +0200 | |
---|---|---|
committer | 2020-09-09 14:47:36 +0200 | |
commit | 0724fb8ebf7c60b396843d021b949cc9061b4c3e (patch) | |
tree | e538d3b83d399acccf62577f4eebc459d44b5ef8 /src/error.rs | |
parent | 5bfa4805a944abe82700287f0af0117462d6d21c (diff) | |
parent | 49076c6ac2983e2076dae64f68a2e801904d7ce9 (diff) | |
download | iced-0724fb8ebf7c60b396843d021b949cc9061b4c3e.tar.gz iced-0724fb8ebf7c60b396843d021b949cc9061b4c3e.tar.bz2 iced-0724fb8ebf7c60b396843d021b949cc9061b4c3e.zip |
Merge branch 'master' from upstream into embedded
Diffstat (limited to 'src/error.rs')
-rw-r--r-- | src/error.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/error.rs b/src/error.rs new file mode 100644 index 00000000..31b87d17 --- /dev/null +++ b/src/error.rs @@ -0,0 +1,34 @@ +use iced_futures::futures; + +/// An error that occurred while running an application. +#[derive(Debug, thiserror::Error)] +pub enum Error { + /// The futures executor could not be created. + #[error("the futures executor could not be created")] + ExecutorCreationFailed(futures::io::Error), + + /// The application window could not be created. + #[error("the application window could not be created")] + WindowCreationFailed(Box<dyn std::error::Error>), + + /// A suitable graphics adapter or device could not be found. + #[error("a suitable graphics adapter or device could not be found")] + GraphicsAdapterNotFound, +} + +#[cfg(not(target_arch = "wasm32"))] +impl From<iced_winit::Error> for Error { + fn from(error: iced_winit::Error) -> Error { + match error { + iced_winit::Error::ExecutorCreationFailed(error) => { + Error::ExecutorCreationFailed(error) + } + iced_winit::Error::WindowCreationFailed(error) => { + Error::WindowCreationFailed(Box::new(error)) + } + iced_winit::Error::GraphicsAdapterNotFound => { + Error::GraphicsAdapterNotFound + } + } + } +} |