summaryrefslogtreecommitdiffstats
path: root/winit/src/error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'winit/src/error.rs')
-rw-r--r--winit/src/error.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/winit/src/error.rs b/winit/src/error.rs
new file mode 100644
index 00000000..8e1d20e8
--- /dev/null
+++ b/winit/src/error.rs
@@ -0,0 +1,27 @@
+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(winit::error::OsError),
+
+ /// A suitable graphics adapter or device could not be found.
+ #[error("a suitable graphics adapter or device could not be found")]
+ GraphicsAdapterNotFound,
+}
+
+impl From<iced_graphics::Error> for Error {
+ fn from(error: iced_graphics::Error) -> Error {
+ match error {
+ iced_graphics::Error::AdapterNotFound => {
+ Error::GraphicsAdapterNotFound
+ }
+ }
+ }
+}