diff options
Diffstat (limited to 'graphics/src')
| -rw-r--r-- | graphics/src/error.rs | 7 | ||||
| -rw-r--r-- | graphics/src/lib.rs | 2 | ||||
| -rw-r--r-- | graphics/src/window/compositor.rs | 4 | ||||
| -rw-r--r-- | graphics/src/window/gl_compositor.rs | 4 | 
4 files changed, 13 insertions, 4 deletions
diff --git a/graphics/src/error.rs b/graphics/src/error.rs new file mode 100644 index 00000000..c86e326a --- /dev/null +++ b/graphics/src/error.rs @@ -0,0 +1,7 @@ +/// A graphical error that occurred while running an application. +#[derive(Debug, thiserror::Error)] +pub enum Error { +    /// A suitable graphics adapter or device could not be found +    #[error("a suitable graphics adapter or device could not be found")] +    AdapterNotFound, +} diff --git a/graphics/src/lib.rs b/graphics/src/lib.rs index d03f3b48..a3bd5364 100644 --- a/graphics/src/lib.rs +++ b/graphics/src/lib.rs @@ -9,6 +9,7 @@  #![forbid(rust_2018_idioms)]  #![cfg_attr(docsrs, feature(doc_cfg))]  mod antialiasing; +mod error;  mod primitive;  mod renderer;  mod transformation; @@ -29,6 +30,7 @@ pub use widget::*;  pub use antialiasing::Antialiasing;  pub use backend::Backend;  pub use defaults::Defaults; +pub use error::Error;  pub use layer::Layer;  pub use primitive::Primitive;  pub use renderer::Renderer; diff --git a/graphics/src/window/compositor.rs b/graphics/src/window/compositor.rs index aa625f43..7674f227 100644 --- a/graphics/src/window/compositor.rs +++ b/graphics/src/window/compositor.rs @@ -1,4 +1,4 @@ -use crate::{Color, Viewport}; +use crate::{Color, Error, Viewport};  use iced_native::mouse;  use raw_window_handle::HasRawWindowHandle; @@ -19,7 +19,7 @@ pub trait Compositor: Sized {      /// Creates a new [`Backend`].      ///      /// [`Backend`]: trait.Backend.html -    fn new(settings: Self::Settings) -> (Self, Self::Renderer); +    fn new(settings: Self::Settings) -> Result<(Self, Self::Renderer), Error>;      /// Crates a new [`Surface`] for the given window.      /// diff --git a/graphics/src/window/gl_compositor.rs b/graphics/src/window/gl_compositor.rs index 2ba39d6e..1f37642e 100644 --- a/graphics/src/window/gl_compositor.rs +++ b/graphics/src/window/gl_compositor.rs @@ -1,4 +1,4 @@ -use crate::{Color, Size, Viewport}; +use crate::{Color, Error, Size, Viewport};  use iced_native::mouse;  use core::ffi::c_void; @@ -41,7 +41,7 @@ pub trait GLCompositor: Sized {      unsafe fn new(          settings: Self::Settings,          loader_function: impl FnMut(&str) -> *const c_void, -    ) -> (Self, Self::Renderer); +    ) -> Result<(Self, Self::Renderer), Error>;      /// Returns the amount of samples that should be used when configuring      /// an OpenGL context for this [`Compositor`].  | 
