summaryrefslogtreecommitdiffstats
path: root/src/error.rs
diff options
context:
space:
mode:
authorLibravatar Kaiden42 <gitlab@tinysn.com>2020-09-09 14:47:36 +0200
committerLibravatar Kaiden42 <gitlab@tinysn.com>2020-09-09 14:47:36 +0200
commit0724fb8ebf7c60b396843d021b949cc9061b4c3e (patch)
treee538d3b83d399acccf62577f4eebc459d44b5ef8 /src/error.rs
parent5bfa4805a944abe82700287f0af0117462d6d21c (diff)
parent49076c6ac2983e2076dae64f68a2e801904d7ce9 (diff)
downloadiced-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.rs34
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
+ }
+ }
+ }
+}